1. 程式人生 > >TCP和UDP基本寫法

TCP和UDP基本寫法

TCP:長連線,安全可靠,一般不會丟包,但是會發生黏包,面向流的傳輸,長度沒有限制,超長的資料包會被拆包傳送

#server.py
import socket
sk = socket.socket()
sk.bind(("127.0.0.1",8080))
sk.listen()

conn,addr = sk.accept()
ret = conn.recv(1024)
print(ret.decode("utf-8"))
conn.send(b"server")

conn.close()
sk.close()
#client.py
import socket
sk = socket.socket()
sk.connect((
"127.0.0.1",8080)) sk.send(b"clent") ret = sk.recv(1024).decode("utf-8") sk.close()
View Code

UDP:短連結,不可靠,會發生丟包,不會黏包,面向訊息,長度有限制,超過限制,超過的部分就不傳送

#server.py
import socket
sk = socket.socket(type=socket.SOCK_DGRAM)
sk.bind(("127.0.0.1",8080))

msg,addr = sk.recvfrom(1024)
msg = msg.decode("utf-8")
print
(msg) sk.sendto(b"server",addr) sk.close() #client.py import socket sk = socket.socket(type=socket.SOCK_DGRAM) ip_port = ("127.0.0.1",8080) sk.sendto(b"client",ip_port) msg,addr = sk.recvfrom(1024) print(msg.decode("utf-8"))