需求为实现一个基本的一次性的聊天软件: 实现两个py文件,一个为main.py,一个为client.py。 main.py为服务端,client.py为客户端代码。
时间: 2024-05-02 22:18:35 浏览: 99
一个客户端服务器端聊天示例程序
以下是基本的一次性聊天软件的实现:
main.py
```
import socket
HOST = '' # 服务器IP地址
PORT = 5000 # 服务器端口号
def main():
# 创建socket对象
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定IP地址和端口号
server_socket.bind((HOST, PORT))
# 监听客户端连接请求
server_socket.listen(1)
print('服务器已启动,等待客户端连接...')
# 接受客户端连接请求
client_socket, client_address = server_socket.accept()
print('客户端已连接,客户端地址:', client_address)
# 接收客户端发送的消息
message = client_socket.recv(1024)
# 打印客户端发送的消息
print('客户端发送的消息:', message.decode('utf-8'))
# 发送回复消息给客户端
reply_message = '已收到消息:' + message.decode('utf-8')
client_socket.sendall(reply_message.encode('utf-8'))
# 关闭连接
client_socket.close()
server_socket.close()
if __name__ == '__main__':
main()
```
client.py
```
import socket
HOST = '127.0.0.1' # 服务器IP地址
PORT = 5000 # 服务器端口号
def main():
# 创建socket对象
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 连接服务器
client_socket.connect((HOST, PORT))
# 发送消息给服务器
message = input('请输入要发送的消息:')
client_socket.sendall(message.encode('utf-8'))
# 接收服务器回复的消息
reply_message = client_socket.recv(1024)
# 打印服务器回复的消息
print('服务器回复的消息:', reply_message.decode('utf-8'))
# 关闭连接
client_socket.close()
if __name__ == '__main__':
main()
```
运行方法:
1. 在终端中运行main.py:`python main.py`
2. 在另一个终端中运行client.py:`python client.py`
3. 在client.py中输入要发送的消息,回车发送,等待服务器回复的消息。
阅读全文