1. 程式人生 > >python3 實現網路程式設計(socket)

python3 實現網路程式設計(socket)

使用方法:要先執行伺服器指令碼: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'))