日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

iOS-基于TCP连接Scoket-服务端

發布時間:2023/12/18 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 iOS-基于TCP连接Scoket-服务端 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一:前言(本文為TCP服務端)

TCP首先要服務器開放一個端口 然后客戶端去連接服務端的IP地址和端口號 連接成功之后再進行數據傳輸 要經歷三次握手

二:代碼在GitHub

1.需要的工具類 自行下載

2.部分代碼及其截圖

<1>創建TCP服務端Socket

1 self.serverSocket = [[GCDAsyncSocket alloc] initWithDelegate:self delegateQueue:dispatch_get_main_queue()]; 1 //開始監聽(開放哪一個端口) 2 NSError *error = nil; 3 BOOL result = [self.serverSocket acceptOnPort:[@"8000" integerValue] error:&error]; 4 5 if (result) { 6 7 //開放成功 8 NSLog(@"開放成功"); 9 10 }else{ 11 12 //開放失敗 13 NSLog(@"開放失敗"); 14 }

<2>發送數據

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

<3>代理

1 #pragma mark socketdelegate 2 //監聽到客戶端socket鏈接 3 //當客戶端鏈接成功后,生成一個新的客戶端socket 4 5 - (void)socket:(GCDAsyncSocket *)sock didAcceptNewSocket:(GCDAsyncSocket *)newSocket{ 6 7 NSLog(@"連接成功"); 8 //connectedHost:地址IP 9 //connectedPort:端口 10 NSLog(@"%@",[NSString stringWithFormat:@"鏈接地址:%@",newSocket.connectedHost]); 11 12 //保存客戶端socket 13 self.clientSocket = newSocket; 14 [self.clientSocket readDataWithTimeout:-1 tag:0]; 15 } 16 17 //成功讀取客戶端發過來的消息 18 - (void)socket:(GCDAsyncSocket *)sock didReadData:(NSData *)data withTag:(long)tag{ NSString *message = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; 19 NSLog(@"成功讀取客戶端發過來的消息 = %@",message); 20 [self.clientSocket readDataWithTimeout:-1 tag:0]; 21 22 } 23 24 - (void)socket:(GCDAsyncSocket *)sock didWriteDataWithTag:(long)tag{ 25 NSLog(@"消息發送成功"); 26 27 }

轉載于:https://www.cnblogs.com/liuzhi20101016/p/9888451.html

總結

以上是生活随笔為你收集整理的iOS-基于TCP连接Scoket-服务端的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。