python3 實現網路程式設計(socket)
阿新 • • 發佈:2018-11-11
使用方法:要先執行伺服器指令碼:server.py,再執行客戶端指令碼:client.py
server.py原始碼:
#!/usr/bin/python3 import socket import sys #建立socket物件 server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) #獲取本地主機名 host = socket.gethostname() port = 9999 #繫結地址到套接字 server.bind((host, port)) #開始TCP監聽 server.listen(5) while True: #被動接受TCP客戶端連線,(阻塞式)等待連線的到來 clientsocket, addr = server.accept() #列印連線的IP和port print(str(addr)) #需要傳送的訊息 msgSend = "傳送給客戶端的訊息"+ "\r\n" clientsocket.send(msgSend.encode('utf-8')) #接收到的訊息 msgRecv = clientsocket.recv(1024) #關閉套接字 clientsocket.close() print(msgRecv.decode('utf-8'))
client.py原始碼:
#!/usr/bin/python3 import socket import sys #建立socket物件 client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) host = socket.gethostname() port = 9999 #連線伺服器 client.connect((host, port)) #接收伺服器傳來的訊息 msgRecv = client.recv(1024) #傳送給伺服器的訊息 msgSend = "傳送給伺服器的訊息!"+ "\r\n" #呼叫傳送方法 client.send(msgSend.encode('utf-8')) client.close() print(msgRecv.decode('utf-8'))