一:前言(本文为TCP客户端)
TCP首先要服务器开放一个端口 然后客户端去连接服务端的IP地址和端口号 连接成功之后再进行数据传输 要经历三次握手
二:代码在GitHub
1.需要的工具类 自行下载
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];
}