一、编写客户端与服务器通信
编写TCPServer.py服务器
from socket import socket, AF_INET, SOCK_STREAM
from threading import Thread
def start_server():
server = socket(AF_INET, SOCK_STREAM)
server.bind(('127.0.0.1', 9000))
server.listen(20)
print('服务器已启动\n')
while True:
clientSocket, clientAddress = server.accept()
print('已经连接服务器\n')
r = Thread(target=rec_message, args=(clientSocket,), name='rec_message')
r.start()
s = Thread(target=send_message, args=(clientSocket,), name='send_message')
s.start()
def rec_message(rec_asp):
'''接收数据'''
data = []
info = rec_asp.recv(1024).decode('utf-8')
if info:
data.append(info)
message = ''.join(data)
print('服务器收到的消息:{}'.format(message))
def send_message(rec_asp):
message = input('请输入服务器要回复的消息:')
rec_asp.send(message.encode('utf-8'))
print('服务器发送的消息:{}'.format(message))
if __name__ =='__main__':
start_server()
编写TCPClient.py客户端
from socket import socket, AF_INET, SOCK_STREAM
from threading import Thread
def rec_message(rec_asp):
'''接收数据'''
data= []
info = rec_asp.recv(1024).decode('utf-8')
if info:
data.append(info)
message = ''.join(data)
print(message)
def send_message(client):
message = input('输入发给服务器的消息:')
client.send(message.encode('utf-8'))
def start_client():
client = socket(AF_INET, SOCK_STREAM)
client.connect(('127.0.0.1', 9000))
while True:
s = Thread(target=send_message, args=(client,), name='send_message')
s.start()
rec_message(client)
if __name__ == "__main__":
start_client()
接下来便可以进行客户端与服务端的通信了
客户端之间的进行通信:
https://github.com/zpwyl/Socket_chat