乙個簡單的基於TCP通訊的伺服器端與客戶端程式

2021-10-08 15:05:06 字數 1870 閱讀 9147

建立客戶端套接字物件

和服務端套接字建立連線

傳送資料

接收資料

關閉客戶端套接字

建立服務端端套接字物件

繫結埠號

設定監聽

等待接受客戶端的連線請求

接收資料

傳送資料

關閉套接字

匯入import socket;

建立客戶端 socket 物件 socket.socket(addressfamily, type),其中:

import socket

sk = socket.socket(socket.af_inet, socket.sock_stream)

# 建立客戶套接字

sk.connect(

('127.0.0.1'

,8898))

# 嘗試連線伺服器

send_data =

"你好服務端,我是客戶端小黑!"

.encode(

"gbk"

)sk.send(send_data)

print

(send_data.decode(

'gbk'))

rev = sk.recv(

1024

)# 對話(傳送/接收)

rev = rev.decode(

'gbk'

)print

(rev)

sk.close(

)# 關閉客戶套接字

匯入import socket;

建立客戶端 socket 物件 socket.socket(addressfamily, type)

import socket

if __name__ ==

'__main__'

: count =

0while

true

: sk = socket.socket(socket.af_inet, socket.sock_stream)

sk.bind(

('127.0.0.1'

,8898))

# 把位址繫結到套接字

print

("server:正在監聽......"

) sk.listen(12)

# 監聽鏈結

conn, addr = sk.accept(

)# 接受客戶端鏈結

ret = conn.recv(

1024

)# 接收客戶端資訊

ret = ret.decode(

"gbk"

)print

(ret)

# 列印客戶端資訊

count +=

1 send_data =

"你好客戶端,我是伺服器端小白!這是你第{}次向我打招呼"

.format

(count)

.encode(

"gbk"

) conn.send(send_data)

# 向客戶端傳送資訊

conn.close(

)# 關閉客戶端套接字

sk.close(

)# 關閉伺服器套接字(可選)

乙個簡單的服務端與客戶端TCP通訊

乙個簡單的服務端與客戶端tcp通訊 from socket import ip port 10.33.0.75 8000 定義建立連線的ip位址與ip埠 back log 5 設定連線池為2 buffer size 1024 設定每次傳送與接收的資料大小 tcp sever socket af in...

基於TCP的簡單通訊例項

程式設定了連線數限制,當連線伺服器的數量超過3時,不再接受其他連線。且只實現了客戶端與伺服器之間的通訊。伺服器端 using system using system.collections.generic using system.componentmodel using system.data u...

模擬乙個簡單的基於tcp的遠端關機程式

最近在學習unix網路程式設計,現在正在學習tcp的通訊。其實,只要建立起了tcp通訊,操作遠端的計算機就不是什麼問題了。正向telnet一樣,也是基於tcp ip協議的。所以這個實驗,也算是對telnet功能的一種簡單的模擬。但是,值得注意的問題是關機涉及到系統許可權,所以要給執行在server端...