TCP服務端和客戶端的框架

2021-07-22 21:50:45 字數 876 閱讀 8470

提供乙個框架

伺服器端: 

建立乙個socket 

sfd=socket(af_inet,sock_stream,0) 

把socket和本機的ip,tcp口繫結 

bind(sfd,(structsockaddr*)&serveraddr,sockaddrsize) 

為客戶連線建立等待佇列 

listen(sfd,server_max_connections) 

這裡迴圈等待,如有客戶連線請求,則接受客戶機連線要求 

accept(sfd,(structsockaddr*)&clientaddr,&sockaddrsize)) 

接受客戶機發來的資訊 

fioread(sfd,(char*)&clientrequest,sizeof(clientrequest))) 

給客戶機發資訊 

write(sfd,replymsg,sizeof(replymsg)) 

關閉socket,通訊終止 

close(sfd) 

客戶端: 

建立乙個socket 

sfd=socket(af_inet,sock_stream,0) 

注意:客戶端不需要繫結,因為tcp口是動態的. 

向伺服器端傳送連線請求,並在這裡等待回應,如收到回應則向下執行 

connect(sfd,(structsockaddr*)&serveraddr,sockaddrsize) 

伺服器接受連線請求後,讀伺服器發過來的資訊 

read(sfd,buffer,20) 

向伺服器發資訊 

write(sfd,buffer,20); 

關閉sockets 

close(sfd) 

TCP服務端和客戶端的框架

提供乙個框架 伺服器端 建立乙個socket sfd socket af inet,sock stream,0 把socket和本機的ip,tcp口繫結 bind sfd,structsockaddr serveraddr,sockaddrsize 為客戶連線建立等待佇列 listen sfd,se...

TCP服務端和客戶端(1)

在陳述這個小例項之前,首先將mafile寫出來 makefile all client server all規則,他依賴於client和server規則 client tcp process.o tcp client.o client規則生成客戶端程式 gcc o client tcp proces...

TCP服務端和客戶端 8

在process.c的基礎上,繼續變換方案,將使用到readv和writev。並且使用到向量方式進行資料的傳送和接收。並在收到相應的訊號後釋放資源。include include include include include static struct iovec vs null,vc null ...