iOS-基于TCP连接

一:前言(本文为TCP客户端)

TCP首先要服务器开放一个端口 然后客户端去连接服务端的IP地址和端口号 连接成功之后再进行数据传输 要经历三次握手

二:代码在GitHub

1.需要的工具类 自行下载
Scoket.png
2.部分代码及其截图

<1>创建TCP-Scoket

 //1.创建客户端scoket
    self.clientSocket = [[GCDAsyncSocket alloc] initWithDelegate:self delegateQueue:dispatch_get_main_queue()];
//2.链接服务器socket
    BOOL result = [self.clientSocket connectToHost:@"172.20.10.1" onPort:[@"8000" integerValue] error:nil];
    //判断链接
    if (result) {
        //成功
        NSLog(@"链接成功");
    }else{
        //失败
        NSLog(@"链接失败");
    }

<2>发送数据

 [self.clientSocket writeData:data withTimeout:-1 tag:0];

<3>代理

#pragma mark ------------
//客户端链接服务器成功
- (void)socket:(GCDAsyncSocket *)sock didConnectToHost:(NSString *)host port:(uint16_t)port{
    
    NSLog(@"%@",[NSString stringWithFormat:@"链接成功服务器:%@",host]);
    
    [self.clientSocket readDataWithTimeout:-1 tag:0];
}
- (void)socket:(GCDAsyncSocket *)sock didWriteDataWithTag:(long)tag{
    
    NSLog(@"消息发送成功");
}
//成功读取服务端发过来的消息
- (void)socket:(GCDAsyncSocket *)sock didReadData:(NSData *)data withTag:(long)tag{
    
    NSLog(@"%lu",(unsigned long)[data length]);
    
    [self.clientSocket readDataWithTimeout:-1 tag:0];
}

你可能感兴趣的:(iOS-基于TCP连接)