起一個tcp協議的socket進行通訊
python
# tcp協議 #客戶端 # import socket # rev = socket.socket() # # rev.bind(("ip地址",端口號)) #端口號通常取8000- 9999 # rev.listen() #開啓服務端 # # msg,addr = rev.accept() #三次握手過程,顯示鏈接服務端的用戶端地址 # msg.send("你好".encode("utf-8")) #給用戶端發消息,須要進行編碼 # mv = msg.recv(1024) #接受用戶端回的消息,限制一次接受的最大字節 # print(mv.decode("utf-8")) #打印接受到的消息,須要解碼 # msg.close() #關閉用戶端的鏈接 # rev.close() #關閉服務端
# 用戶端 # import socket # cli = socket.socket() # cli.connect(("ip地址",端口號)) #鏈接服務端 # msg = cli.recv(1024) #接收信息 # print(msg.decode("utf-8")) #打印消息 # mv = input("》》》》》:") # cli.send(mv.encode("utf-8")) #發消息 # cli.close() #關閉用戶端
利用端口傳輸視頻瀏覽器
import socket rev = socket.socket() rev.bind(("127.0.0.1",8989)) rev.listen() conn,addr = rev.accept() filname = conn.recv(1024) with open(filname.decode("utf-8"),"wb") as f: while True: content = conn.recv(1024) if content == b"ok":break f.write(content) print("接收完畢") conn.close() rev.close() import time import os import socket cli = socket.socket() cli.connect(("127.0.0.1",8989)) cli.send("file".encode("utf-8")) time.sleep(0.1) size = os.path.getsize("file") with open("file","rb") as f: while size: content = f.read(1024) size -= len(content) cli.send(content) cli.send(b"ok") print("傳輸完畢") cli.close()
起一個udp協議的socket進行通訊
服務器
# udp協議 # import socket # rev = socket.socket(type=socket.SOCK_DGRAM) # rev.bind(("ip地址",端口號)) # # msg,addr = rev.recvfrom(1024) #接收到的消息 # print(msg.decode("utf-8")) # rev.sendto("你好".encode("utf-8",addr)) #發消息,須要對方的ip地址 # rev.close() #關閉端口 # import socket # cli = socket.socket(type=socket.SOCK_DGRAM) # cli.sendto("信息".encode("utf-8"),("ip地址",端口號)) #發消息 # mv,addr = cli.recvfrom(1024) #接收信息和ip地址 # print(mv.decode("utf-8")) #打印信息 # cli.close() #關閉端口