服務端:
importsocket
sk = socket.socket() #
建立物件
sk.setsockopt(socket.sol_socket,socket.so_reuseaddr,1) #
避免伺服器重啟時報address already in use錯誤
sk.bind(('
127.0.0.1
',8877)) #
把位址繫結到套接字(ip位址,埠號)
sk.listen() #
監聽鏈結
conn,addr = sk.accept() #
接受客戶端鏈結
ret = conn.recv(1024) #
接受客服端資訊(資料長度)
print(ret) #
列印客戶端資訊
conn.send(b'
hi') #
向客戶端傳送星系(必須是bytes型別)
conn.close() #
關閉客戶端連線
sk.close() #
關閉伺服器套接字
客戶端:
importsocket
sk = socket.socket() #
建立物件
sk.connect(('
127.0.0.1
',8877)) #
連線伺服器(ip位址,埠號)
sk.send(b'
hello
') #
向伺服器傳送資訊(必須是bytes型別)
ret = sk.recv(1024) #
接收資訊(資料大小)
print(ret) #
列印資訊
sk.close() #
關閉物件
有收必有發,收發必相等,send和rexv必須是對應的
send ----- recv
send ----- recv
recv ----- send
傳遞中文:
#服務端#
接收中文
ret = conn.recv(1024).encode('utf-8')
print(ret) #列印#
傳送中文
conn.send(bytes('
七點半',encoding='
utf-8'))
#客戶端
#傳送中文
sk.send(bytes('
幾點了'.encode('
utf-8
')))
#接收中文
ret = sk.recv(1024).encode('utf-8')
print(ret) #
列印
例項:聊天
服務端:
importsocket
sk = socket.socket() #
建立物件
sk.setsockopt(socket.sol_socket,socket.so_reuseaddr,1) #
避免伺服器重啟時報address already in use錯誤
sk.bind(('
127.0.0.1
',8877)) #
把位址繫結到套接字(ip位址,埠號)
sk.listen() #
監聽鏈結
conn,addr = sk.accept() #
接受客戶端鏈結
while
true:
ret = conn.recv(1024).decode('
utf-8')
(ret)
if ret == '
bye'
: conn.send(b
'bye')
break
info = input('
>>>')
conn.send(bytes(info,encoding='
utf-8'))
conn.close()
#關閉客戶端連線
sk.close() #
關閉伺服器套接字
客戶端:
importsocket
sk = socket.socket() #
建立物件
sk.connect(('
127.0.0.1
',8877)) #
連線伺服器(ip位址,埠號)
while
true:
info = input('
>>>')
sk.send(bytes(info,encoding='
utf-8'))
ret = sk.recv(1024).decode('
utf-8')
(ret)
if ret == '
bye'
: sk.send(b
'bye')
break
sk.close()
#關閉物件
python 網路程式設計學習 套接字socket
以前也學過套接字程式設計,這次想系統全面的學習下python網路程式設計的使用。做這個,為檢測進度,也為後續留下筆記和足跡。socket 常用函式 socket.gethostname socket.gethostbyname import socket host socket.gethostnam...
Python網路程式設計學習筆記一 socket模組
coding utf 8 主要測試python網路程式設計中socket模組的使用 涉及到的技術點 套接字 面向連線的還有非面向連線套接字 tcp面向連線 udp非面向連線 1 匯入socket 2 建立socket socket三要素 1 socket family,2 socket type 3...
python網路程式設計 TCP網路程式設計
tcp程式設計 客戶端 import socket 1 套接字 tcp socket socket.socket socket.af inet,socket.sock stream 2 建立鏈結 tcp socket.connect 172.27.35.1 8080 3 傳送資訊 tcp socke...