Python使用Socket写一个简单聊天程序

b2b模式的聊天工具

服务端:

 1 # 链接
 2 while True:
 3     print('等待连接...')
 4     sock,adr = server_socket.accept()
 5     while True:
 6         try:
 7             # 接受数据
 8             data = sock.recv(1024)
 9             print(adr[0] + '发来消息:', data.decode())
10             # 发送数据
11             send_msg = input("请输入发送内容>>").strip()
12             sock.send(send_msg.encode('utf-8'))
13         except ConnectionResetError as e:
14             print('%s断开连接!' %adr[0])
15             break
16     # 关闭本次连接
17     sock.close()
18 # 关闭socket
19 server_socket.close()

客户端:

import socket

# 设置服务器ip和端口号
host_ip = '192.168.31.207'
port = 8896
client_socket = socket.socket()
client_socket.connect((host_ip,port))

while True:
    send_msg = input('请输入内容>>').strip()
    if send_msg == '':
        continue
    client_socket.send(send_msg.encode())
    recv_data = client_socket.recv(1024)
    print(host_ip+"回复:"+recv_data.decode())

client_socket.close()

目前只支持客户端发一句,服务端发一句这种模式。

超过一句内容后,发出去的内容对方接收不到

结果:

 

posted @ 2018-04-24 18:15  Tynam.Yang  阅读(615)  评论(0编辑  收藏  举报