iOS-基于TCP連接<Scoket-服務(wù)端>

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

TCP首先要服務(wù)器開(kāi)放一個(gè)端口 然后客戶端去連接服務(wù)端的IP地址和端口號(hào) 連接成功之后再進(jìn)行數(shù)據(jù)傳輸 要經(jīng)歷三次握手

二:代碼在GitHub

1.需要的工具類 自行下載
Scoket.png
2.部分代碼及其截圖

<1>創(chuàng)建TCP服務(wù)端Socket

    self.serverSocket = [[GCDAsyncSocket alloc] initWithDelegate:self delegateQueue:dispatch_get_main_queue()];
   //開(kāi)始監(jiān)聽(tīng)(開(kāi)放哪一個(gè)端口)
    NSError *error = nil;
    BOOL result = [self.serverSocket acceptOnPort:[@"8000" integerValue] error:&error];
    if (result) {
        //開(kāi)放成功
        NSLog(@"開(kāi)放成功");
    }else{
        //開(kāi)放失敗
        NSLog(@"開(kāi)放失敗");
    }

<2>發(fā)送數(shù)據(jù)

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

<3>代理

#pragma mark  socketdelegate
//監(jiān)聽(tīng)到客戶端socket鏈接
//當(dāng)客戶端鏈接成功后,生成一個(gè)新的客戶端socket
- (void)socket:(GCDAsyncSocket *)sock didAcceptNewSocket:(GCDAsyncSocket *)newSocket{
    
    NSLog(@"連接成功");
    //connectedHost:地址IP
    //connectedPort:端口
    NSLog(@"%@",[NSString stringWithFormat:@"鏈接地址:%@",newSocket.connectedHost]);
    //保存客戶端socket
    self.clientSocket = newSocket;
    
    [self.clientSocket readDataWithTimeout:-1 tag:0];
}
//成功讀取客戶端發(fā)過(guò)來(lái)的消息
- (void)socket:(GCDAsyncSocket *)sock didReadData:(NSData *)data withTag:(long)tag{
    
    NSString *message = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
    
    NSLog(@"成功讀取客戶端發(fā)過(guò)來(lái)的消息 = %@",message);
    
    [self.clientSocket readDataWithTimeout:-1 tag:0];
}

- (void)socket:(GCDAsyncSocket *)sock didWriteDataWithTag:(long)tag{
    
    NSLog(@"消息發(fā)送成功");
}
TCP-Server.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1、TCP狀態(tài)linux查看tcp的狀態(tài)命令:1)、netstat -nat 查看TCP各個(gè)狀態(tài)的數(shù)量2)、lso...
    北辰青閱讀 9,732評(píng)論 0 11
  • 參考:http://www.2cto.com/net/201611/569006.html TCP HTTP UD...
    F麥子閱讀 3,070評(píng)論 0 14
  • 18.1 引言 TCP是一個(gè)面向連接的協(xié)議。無(wú)論哪一方向另一方發(fā)送數(shù)據(jù)之前,都必須先在雙方之間建立一條連接。本章將...
    張芳濤閱讀 3,536評(píng)論 0 13
  • —————?—————?—————?—————?—————?—————Spark Streaming概述Spark...
    荒湖閱讀 1,150評(píng)論 0 1
  • 入秋的夜 月光下總有你的樣子 遠(yuǎn)方的鳥(niǎo)鳴 吟唱著我的離情 兩只螢火蟲(chóng)閃過(guò)窗欞 眨著你那雙迷人的眼睛 一邊的窗簾 輕...
    蝴蝶戀她閱讀 327評(píng)論 36 51

友情鏈接更多精彩內(nèi)容