server client 套接字連線

2022-07-30 00:45:14 字數 1235 閱讀 8253

server端:

1.  阻塞型套接字,不能滿足多個客戶端同時訪問

import socket

server = socket.socket()

server.bind((""127.0.0.1,8898))

while true:

server.listen(2)    2為最大同時連線數,python3.6以上有用

conn,addr = server.accept()

data = conn.recv(1024)  1024為最大接收位元組

conn.close()      伺服器連線關閉

圖例:2.  非阻塞形套接字,用單執行緒模擬多執行緒併發,實現多個客戶端同時訪問

import socket

server = socket.socket()

server.setblocking(false)

server.bind(("127.0.0.1",8898))

server.listen(5)

conn_list =     儲存客戶端請求

while true:

try:

conn,addr = server.accept()

conn.setblocking(false)

except blockingioerror:

pass

for conn in conn_list:

try:

data = conn.recv(1024)

if data:

print(data)

conn.send(data)

else:

conn.close()

conn_list.remove(conn)

except  blockingioerror:

pass

圖例:

client端:

import socket

client = socket.socket()

client.connect(("127.0.0.1",8898))

client.send(b"hello")

client.close()

圖例:

監聽套接字 連線套接字

摘要 對於伺服器程式設計中最重要的一步等待並接受客戶的連線,那麼這一步在程式設計中如何完成,accept函式就是完成這一步的。它從核心中取出已經建立的客戶連線,然後把這個已經建立的連線返回給使用者程式,此時使用者程式就可以與自己的客戶進行點到點的通訊了。accept函式等待並接受客戶請求 inclu...

python套接字 python套接字基本使用

socket socket通常也稱作 套接字 用於描述ip位址和埠,應用程式通常通過 套接字 向網路發出請求或者應答網路請求,可以認為是一種計算機網路的資料結構,介面。它是網路程式設計的基礎 套接字還分為面向連線的和無連線的 第一種是指tcp型別套接字,在通訊前需要建立連線,這種連線是較為可靠的,使...

python套接字程式設計 python套接字程式設計

服務端 usr bin python coding utf 8 import socket s socket.socket host socket.gethostname port 12345 s.bind host,port s.listen 5 while true c,addr s.accep...