網路程式設計 實現迭代回聲伺服器端 客戶端

2022-09-02 09:21:14 字數 1417 閱讀 3297

1.直接跳轉到linux端**

2.直接跳轉到windows端**

掌握tcp套接字工作原理。

在linux和windows作業系統上編寫迭代伺服器端/客戶端。讓伺服器端以迭代方式執行,為多個客戶端提供回聲服務。

1、在linux作業系統上編寫程式,實現迭代回聲伺服器端/客戶端:

(1)改進實驗一中實現的hello world伺服器端程式,依次為5個(或者至少3個以上)客戶端提供回聲服務。

(2)改進客戶端程式,接收使用者輸入的字串併發送到伺服器端,一直到使用者輸入字元 」q」 為止。

(3)伺服器端新建乙個文字檔案(例如:***.txt),接收到字串資料後,把字串記錄到文字檔案中並傳回客戶端。請記錄所有客戶端(或者至少3個客戶端)發來的字串。

2、在windows作業系統上編寫程式,實現與上述功能相同的迭代回聲伺服器端/客戶端。

linux端效果圖如下:

linux端的(採用uos+vscode+g++):

linux端**如下:

1. 伺服器端:

#include #include #include #include #include #include #include #include#pragma comment (lib, "ws2_32.lib") //載入 ws2_32.dll

#define buf_size 1024

using namespace std;

int main()

; //緩衝區

for (int i=0;i<5;i++)

; char bufrecv[buffer_size] =

; //建立套接字

int sock = socket(af_inet,sock_stream,ipproto_tcp);

connect(sock,(struct sockaddr*)&sock_addr,sizeof(sock_addr));

while(1) ; //緩衝區

for(int i=0;i<5;i++);

char bufrecv[buf_size] = ;

//建立套接字

socket sock = socket(pf_inet, sock_stream, ipproto_tcp);

connect(sock, (sockaddr*)&sockaddr, sizeof(sockaddr));

while(1)

closesocket(sock); //關閉套接字

wsacleanup(); //終止使用 dll

system("pause");

return 0;

}

socket程式設計 10 實現迭代伺服器端和客戶端

前面的程式,不管伺服器端還是客戶端,都有乙個問題,就是處理完乙個請求立即退出了,沒有太大的實際意義。能不能像web伺服器那樣一直接受客戶端的請求呢?能,使用 while 迴圈即可。修改前面的回聲程式,使伺服器端可以不斷響應客戶端的請求。伺服器端 server.cpp include include ...

Python socket實現伺服器端與客戶端連線

伺服器端與客戶端每個5秒鐘通訊一次,具體實現如下 伺服器端 usr bin python coding utf 8 檔名 server.py import socket 匯入 socket 模組 import time s socket.socket 建立 socket 物件 host socket...

實現迭代伺服器端和客戶端

前面的程式,不管伺服器端還是客戶端,都有乙個問題,就是處理完乙個請求立即退出了,沒有太大的實際意義。能不能像web伺服器那樣一直接受客戶端的請求呢?能,使用 while 迴圈即可。修改前面的回聲程式,使伺服器端可以不斷響應客戶端的請求。伺服器端 server.cpp include include ...