最簡單的TCP協議實現

2021-09-25 05:10:13 字數 1955 閱讀 9437

在客戶端方面:

服務端

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

using

namespace std;

class

tcpserver

//初始化

void

initserver()

//進行繫結

struct sockaddr_in local;

bzero

(&local,

sizeof

(local));

local.sin_family = af_inet;

local.sin_port =

htons

(port)

; local.sin_addr.s_addr =

inet_addr

(ip.

c_str()

);if(

bind

(listen_sock,

(struct sockaddr*

)& local,

sizeof

(local)

)<0)

//進入監聽模式if(

listen

(listen_sock,5)

<0)

}//服務

void

service

(int sock)

else

if(s ==0)

else

}close

(sock);}

//啟動

void

start()

cout <<

"get a new client"

<< sock << endl;

service

(sock);}

}//析構

~tcpserver()

};

客戶端
#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

using

namespace std;

class

tcpclient

//初始化

void

initclient()

}//程式執行

void

start()

//進行寫和讀

char buf[

1024];

string in;

while(1

)}}//析構

~tcpclient()}};

結果:

tcp服務端

int

accept

(int socket,

struct sockaddr* address, socklen_t* address_len)

;

5.提供服務(自定義)

客戶端:

int

connect

(int socket,

const

struct sockaddr* addr,

struct sockaddr* addr_len)

結論:

tcp協議的簡單理解

tpc協議屬於傳輸層協議,本篇主要介紹下幾個概念,以及握手和揮手的過程。1.tcp的幾個概念 位碼 即tcp標誌位,有6種提示 syn synchronus,表示建立聯機。ack acknowledgement,確認。push push,傳送。fin finish,結束。rst rest,重置。ur...

TCP協議簡單總結

正常連線 客戶端 closed syn send established 伺服器 listen syn收到 established 正常關閉 客戶端 established fin wait 1 fin wait 2 time wait closed 服務端 established close wa...

TCP協議簡單講解

tcp transmission control protocol 傳輸控制協議 是一種面向連線的 可靠的 基於位元組流的傳輸層通訊協議。tcp 的連線建立,我們常常稱為三次握手,簡單描述即下。a 您好,我是 a。b 您好 a,我是 b。a 您好 b。三次握手的過程 tcp 的連線關閉,我們常常稱為...