tcp_server.py
# coding:utf-8
from socket import *
from multiprocessing import Process
def talk(conn, addr):
print("子进程开始.")
while 1:
try:
client_from_msg = conn.recv(1024)
print("来自客户端%s端口%s的消息: " % (addr[0], addr[1]), client_from_msg)
if not client_from_msg: break
conn.send(client_from_msg.upper())
except Exception:
break
if __name__ == '__main__':
print("主进程开始.")
server = socket()
ip_port = ("127.0.0.1", 8080)
server.bind(ip_port)
server.listen(5)
while 1:
conn, client_addr = server.accept()
print(conn, client_addr)
p = Process(target=talk, args=(conn, client_addr))
p.start()
tcp_client1.py
# coding:utf-8
from socket import *
client = socket()
ip_port = ("127.0.0.1", 8080)
client.connect(ip_port)
while 1:
inp = input(">>>:").strip()
if not inp: continue
client.send(inp.encode("utf-8"))
from_server_msg = client.recv(1024)
print("来自服务端的消息:", from_server_msg)
client.close()
tcp_client2.py和tcp_client1.py代码完全一样.