python 112 網路程式設計 Socket程式設計

2022-03-22 09:25:03 字數 2345 閱讀 2462

例項1:客戶端發小寫英文,伺服器端返回給客戶端大寫英文(僅支援一次接受傳送)

伺服器端:

#伺服器端(先於客戶端執行)

import socket

server=socket.socket()

server.bind(('localhost', 6969))#繫結要監聽的埠,只能接受乙個引數

server.listen()#監聽

print('我要開始等**了')

conn,addr=server.accept()#等**打進來 conn:連線標記 addr:對方的位址

#conn就是客戶端連過來而在伺服器端為其生成的乙個連線例項

print('conn:',conn)

print('addr:',addr)

print('**來了')

data=conn.recv(1024)#接受資料 資料大小最好<=8192 recv預設是阻塞的

print('recv',data)

conn.send(data.upper())#返回乙個值

server.close()

客戶端:

#客戶端

import socket

client=socket.socket()#宣告協議(socket)型別,同時生成socket連線物件

client.connect(('localhost',6969))#連線,只能接受乙個引數

client.send(b'hello world')#傳送資料 注:python3中只能發byte型別,python2可以發字串,byte(位元組)型別

# 注:byte型別只能接受ascall碼資料型別

data=client.recv(1024)#接受伺服器端的返回,可以指定接受大小 這裡我指定的是1024個位元組

print('recv:',data)

# print('recv:',data.decode())#接受中文要這樣寫(英文也沒問題)

client.close()

例項2:重複接受與傳送(linux系統上操作最合適)

伺服器端:

import socket

import os

sever=socket.socket()

sever.bind(('localhost',6969))

sever.listen(5)#5可以更換別的數字,這裡指的是可以掛起5個客戶端連線(非同步通訊時可以懂得),預設寫5個

print('我要開始等**了')

while true:

coon, addr = sever.accept()

print('coon:', coon)

print('addr:', addr)

while true:

data=coon.recv(10240)

print('recv',data)

if not data:

print('client has lost')

break

# res = os.popen(data).read() # 獲取執行結果,並執行命令(將socket模擬ssh客戶端)

# coon.send(res)#將send替換為sendall,表示迴圈傳送send

coon.send(data.upper())

sever.close()

客戶端:

import socket

client=socket.socket()

client.connect(('localhost',6969))

while true:

msg=input('>>:').strip()#注意傳送不了空的,所以要用if語句

if len(msg)==0:continue

client.send(msg.encode('utf-8'))

data=client.recv(1024)

print(data.decode())

client.close()

python網路 Python3 網路程式設計

python3 網路程式設計 python 提供了兩個級別訪問的網路服務。低階別的網路服務支援基本的 socket,它提供了標準的 bsd sockets api,可以訪問底層作業系統socket介面的全部方法。高階別的網路服務模組 socketserver,它提供了伺服器中心類,可以簡化網路伺服器...

Python網路程式設計00 網路基礎

在正式開始學習python網路程式設計之前,先來補充一點網路基礎知識。internet是在一些共享線路上傳送資料的。為了實現共享,tcp通過把你要傳送的資料流分解成很多小資訊包在internet傳輸,而這些資訊報到了接受者的地方會再次重新合成在一起。通過分成很小的資料報,internet鏈結就會用很...

Python3網路程式設計

python提供了2個級別的訪問翁羅服務 低階別的網路服務支援socket,他提供了標準的bsd sockets api,可以訪問底層作業系統socket介面的全部方法 高階別的網路服務模組socket server,他提供了伺服器中心類,可以簡化伺服器的開發 使用此函式建立套接字,語法 socke...