一:前言(本文为TCP客户端)
TCP首先要服务器开放一个端口 然后客户端去连接服务端的IP地址和端口号 连接成功之后再进行数据传输 要经历三次握手
二:代码在GitHub
1.需要的工具类 自行下载
2.部分代码及其截图
<1>创建TCP-Scoket
//1.创建客户端scoket
self.clientSocket = [[GCDAsyncSocket alloc] initWithDelegate:self delegateQueue:dispatch_get_main_queue()];
1 //2.链接服务器 2 socket BOOL result = [self.clientSocket connectToHost:@"172.20.10.1" onPort:[@"8000" integerValue] error:nil]; 3 //判断链接 4 if (result) { 5 //成功 6 NSLog(@"链接成功"); 7 }else{ 8 //失败 9 NSLog(@"链接失败"); 10 }
<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];
}