TCP和UDP基本寫法
阿新 • • 發佈:2018-12-09
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((View Code"127.0.0.1",8080)) sk.send(b"clent") ret = sk.recv(1024).decode("utf-8") sk.close()
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"))