tcp協議下的socket使用
伺服器端模板import
socket
server =socket.socket()
server.bind((
'192.168.12.211
',16888)) #
插入**卡
server.listen() #
開始監聽
while
true:
client,addr = server.accept() #
鏈結迴圈,可以不斷接收新鏈結
while
true:
try:
data = client.recv(1024) #
迴圈收發訊息
ifnot data: #
判斷訊息是否為空
client.close()
break
print('
收到客戶端的訊息:%s
'%data.decode('
utf-8'))
client.send(data)
except connectionreseterror: #
接收客戶端關閉時的異常
print('
客戶端強行關閉鏈結')
client.close()
break
break
server.close()
客戶端:import
socket
client =socket.socket()
client.connect((
'192.168.12.211
',16888)) #
鏈結到伺服器
while
true:
msg = input('
>>>>>:
').strip() #
迴圈傳送資訊
client.send(msg.encode('
utf-8
'))
data = client.recv(1024) #
接收伺服器資訊
print('
收到伺服器:%s
'%data.decode('
utf-8
'))
基於udp協議的 socket通訊
伺服器端import
socket
#udp協議 在建立socket是 只有乙個型別不同
server = socket.socket(socket.af_inet,socket.sock_dgram,proto=0)
server.bind((
"127.0.0.1
",8888))
while
true:
data,addr = server.recvfrom(1024) #
阻塞 直到收到資料為止
print("
收到來自%s的訊息:%s
" % (data.decode("
utf-8
"),addr[0]))
#返回值為 資料 和 對方ip位址 和埠號
server.sendto(data.upper(),addr)
server.close()
客戶端import
socket
client =socket.socket(socket.af_inet,socket.sock_dgram,0)
while
true:
data = input("
>>:
").encode("
utf-8")
client.sendto(data,(
"127.0.0.1
",8888))
d,addr = client.recvfrom(1024)
print(d.decode("
utf-8"))
client.close()
基於Udp的Socket網路程式設計
1.新建乙個工作空間 udp 新增兩個工程udpclient 和 udpsrv 2.在工程udpsrv中新增udpsrv.cpp檔案 如下 include include void main if lobyte wsadata.wversion 1 hibyte wsadata.wversion 1...
基於UDP的socket網路程式設計
udp的網路程式設計模型較tcp簡單一些,因為udp的特點與tcp的不一樣,tcp是面向連線的,udp是無連線的。udp的服務端程式設計可總結為以下幾個步驟 1.使用socket建立通訊描述符 int socket int domain,int type,int protocol type引數應選擇...
基於TCP協議的網路程式設計 socket程式設計 1
1.1.網路位元組序 記憶體中的多位元組資料相對於記憶體位址有大端和小端之分,磁碟檔案中的多位元組資料相對於檔案中的偏移位址也有大端小端之分。網路資料流同樣有大端小端之分,那麼如何定義網路資料流的位址呢?傳送主機通常將傳送緩衝區中的資料按記憶體位址從低到高的順序發出,接收主機把從網路上接到的位元組依...