zoukankan      html  css  js  c++  java
  • Asyncsocket总结(未完)

    方法总结

    建立socket

    - (id)initWithDelegate:(id)delegate

    配置RunLoopModes(不必须)

    1. 允许你配置 socket 使用的运行循环模式
    2. 运行循环模式设置默认是NSRunLoopCommonModes
    3. 如果你想你的socket 在其他模式下继续操作,你可能需要添加模式 NSModalPanelRunLoopMode 或者 NSEventTrackingRunLoopMode ,或者你可能只想使用 NSRunLoopCommonModes
    4. 可接受的socket将自动 继承相同的运行循环模式就像侦听socket
    5. 注意:NSRunLoopCommonModes 定义在10.5,对于之前的版本可使用 kCFRunLoopCommonModes

    - (BOOL)setRunLoopModes:(NSArray *)runLoopModes

    - (BOOL)addRunLoopMode:(NSString *)runLoopMode

    - (BOOL)removeRunLoopMode:(NSString *)runLoopMode

    -(NSArray *)runLoopModes

    服务端启动监听

    - (BOOL)acceptOnPort:(UInt16)port error:(NSError **)errPtr

    告诉socket开始听取和接受制定端口上的连接,当一个连接到来的时候,AsyncSocket实例将调用各种委托方法,socket将听取所有可用的接口(wifi,以太网等)

    客户端连接服务端

    1.连接给定的主机和端口,主机hostname可以是域名或者是Ip地址

    -(BOOL)connectToHost:(NSString *)hostname onPort:(UInt16)port error :(NSError **)errPtr

    2.连接到一个给定的地址

     -(BOOL)connectToAddress:(NSData *)remoteAddr error:(NSError *)errPtr;

    制定一个sockaddr结构包裹住一个NSData对象,例如,NSData对象从NSNetService的地址方法返回,如果有一个现有的sockaddr结构,可以将它转换到一个NSData对象,像这样:

     struct sockaddr sa  -> NSData *dsa = [NSData dataWithBytes:&remoteAddr length:remoteAddr.sa_len];

     struct sockaddr *sa -> NSData *dsa = [NSData dataWithBytes:remoteAddr length:remoteAddr->sa_len];

    代理总结

    - (void)onSocket:(AsyncSocket *)sock didAcceptNewSocket:(AsyncSocket *)newSocket

    - (void)onSocket:(AsyncSocket *)sock didConnectToHost:(NSString *)host port:(UInt16)port

    - (void)onSocket:(AsyncSocket *)sock didWriteDataWithTag:(long)tag

    - (void)onSocket:(AsyncSocket *)sock didReadData:(NSData *)data withTag:(long)tag

    - (void)onSocket:(AsyncSocket *)sock willDisconnectWithError:(NSError *)err

    - (void)onSocketDidDisconnect:(AsyncSocket *)sock

    http://www.cnblogs.com/worldtraveler/archive/2012/12/22/2829067.html

  • 相关阅读:
    When to Partition a Table and an Index
    Hello, world
    提交
    SubmitOncePage:解决刷新页面造成的数据重复提交问题
    压缩ASP.NET中的ViewState
    asp.net千奇百怪的日历
    ICallbackEventHandler实现
    xml數據
    CrystalReports
    [转]Microsoft Visual Studio 2005中使用水晶报表
  • 原文地址:https://www.cnblogs.com/zhongriqianqian/p/4146692.html
Copyright © 2011-2022 走看看