基於TCP的ECHO程式

2021-06-12 04:36:00 字數 2315 閱讀 3403

基於tcp的echo程式

自己當場手輸的文字  勿噴

內容:

所謂echo,就是伺服器把它所收到的資料原封不動地回送給客戶端。

流程:

1.客戶端向伺服器傳送字串「hello world!」;

2.伺服器收到後,顯示客戶端的位址和埠,並把收到的資料回送給客戶端;

3.客戶端收到回送的資料後顯示出來。

要求:

完成tcp的客戶、伺服器程式;

伺服器的固定埠號為20000。

具體原理不想寫了  

因為實驗報告是手寫的  不是電子檔  

這個老師很特別  大家都這麼說  

具體**:

客服端**:

#pragma comment(lib,"ws2_32.lib")

#include#include#include#includeint main()

socket sock=socket(af_inet,sock_stream,0);

if(invalid_socket==sock)

sockaddr_in serveraddr;

serveraddr.sin_family=af_inet;

serveraddr.sin_port=htons(20000);

serveraddr.sin_addr.s_addr=inet_addr("127.0.0.1");

err=connect(sock,(sockaddr*)&serveraddr,sizeof(serveraddr));

printf("%d\n",sock);

if(socket_error == err)

char data="hello world!";

int sbyte=send(sock,data,strlen(data),0);

if(socket_error==sbyte)

shutdown(sock,sd_send);

char rbuf[1024];

while(1)

if(0==rbyte)

printf("tcp recv[%d]data:%s\n",rbyte,rbuf); }

closesocket(sock);

wsacleanup();

return 0;

}

伺服器端**:

#include #include #include #pragma comment(lib,"ws2_32.lib")

int main()

socket sock = socket (af_inet,sock_stream,0);

if(invalid_socket == sock)

sockaddr_in locaaddr;

locaaddr.sin_family = af_inet;

locaaddr.sin_port = htons (20000);

locaaddr.sin_addr.s_addr = htonl(inaddr_any);

err = bind(sock,(sockaddr*)&locaaddr,sizeof (locaaddr));

printf("%d\n",sock);

if(socket_error == err)

err = listen(sock,5);

if(socket_error == err)

sockaddr_in clientaddr;

int addrlen = sizeof(clientaddr);

while(1)

char rbuf[1024];

while(1)

if(0 == rbyte)

printf("tcp recv [%d]data: %s\n",rbyte,rbuf);

int sbyte = send(sockconnected,rbuf,rbyte,0);

if(socket_error == sbyte)}}

closesocket(sock);

wsacleanup();

return 0;

}

基於UDP的ECHO控制台程式

一早結束了網路程式設計的實驗,小菜一直沒空記錄一下 今天寫點吧 內容 所謂echo,就是伺服器把它所收到的資料原封不動地回送給客戶端。流程 1.客戶端向伺服器傳送字串 hello world 2.伺服器收到後,顯示客戶端的位址和埠,並把收到的資料回送給客戶端 3.客戶端收到回送的資料後顯示出來。要求...

TCP網路程式設計之echo回射程式

tcp網路程式設計有三個例子最值得學習研究,分別是echo chat proxy,都是長連線協議。接下來,把這幾個例子都實現。本節用乙個簡單的例子來講tcp客戶 伺服器程式框架,這也是echo的實現。程式的基本流程 客戶從標準輸入鍵入一行文字,並傳送給伺服器。伺服器接收到文字之後回射給客戶端。客戶端...

基於TCP的網路聊天程式

本例項是基於tcp的網路聊天程式,根據有關tcp的套接字socket程式設計中伺服器的設計過程,編寫的 新建工程 新建檔案 新建項 include include 引入winsock標頭檔案 int main 判斷請求載入的版本號是否符合要求 if lobyte wsadata.wversion 2...