给我一个用python编写的tcp即时通讯程序
时间: 2024-05-13 17:20:12 浏览: 16
好的,以下是一个简单的使用Python编写的TCP即时通讯程序的示例代码:
```python
import socket
# 客户端代码
def client():
# 创建socket对象
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 服务端IP地址和端口号
server_address = ('localhost', 8888)
print('connecting to %s port %s' % server_address)
client_socket.connect(server_address)
# 发送消息
message = input('Enter message: ')
client_socket.send(message.encode())
# 接收服务端返回的消息
data = client_socket.recv(1024)
print('Received response: %s' % data.decode())
# 关闭socket连接
client_socket.close()
# 服务端代码
def server():
# 创建socket对象
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定ip地址和端口号
server_address = ('localhost', 8888)
print('starting up on %s port %s' % server_address)
server_socket.bind(server_address)
# 开始监听客户端连接
server_socket.listen(1)
while True:
print('waiting for a connection...')
# 接受客户端连接
client_socket, client_address = server_socket.accept()
print('connection from', client_address)
# 接收客户端发送的消息
data = client_socket.recv(1024)
print('Received message: %s' % data.decode())
# 回复消息
message = 'Received: %s' % data.decode()
client_socket.send(message.encode())
# 关闭socket连接
client_socket.close()
```
该程序分为客户端和服务端两部分,使用socket模块来创建TCP连接。客户端首先连接到服务端,发送消息,等待服务端返回。服务端等待客户端连接,接收消息并回复,然后关闭连接。请注意,此示例仅适用于学习和测试目的。