套接字的两写两读的代码
时间: 2024-05-01 15:22:18 浏览: 7
这里是一个简单的套接字客户端和服务器端的示例代码,包括两个函数:send_message 和 receive_message,用于发送和接收消息。
服务器端代码:
```python
import socket
def receive_message(client_socket):
"""
从客户端接收消息
"""
message = client_socket.recv(1024).decode()
return message
def main():
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.bind(('localhost', 8000))
server_socket.listen(1)
print('服务器已启动,等待连接...')
client_socket, client_address = server_socket.accept()
print('客户端已连接:', client_address)
while True:
message = receive_message(client_socket)
print('客户端发来消息:', message)
response = input('请输入回复:')
client_socket.send(response.encode())
client_socket.close()
server_socket.close()
if __name__ == '__main__':
main()
```
客户端代码:
```python
import socket
def send_message(server_socket, message):
"""
向服务器发送消息
"""
server_socket.send(message.encode())
def receive_message(server_socket):
"""
从服务器接收消息
"""
message = server_socket.recv(1024).decode()
return message
def main():
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.connect(('localhost', 8000))
print('已连接到服务器!')
while True:
message = input('请输入消息:')
send_message(server_socket, message)
response = receive_message(server_socket)
print('服务器回复:', response)
server_socket.close()
if __name__ == '__main__':
main()
```
这里的 send_message 和 receive_message 函数分别用于发送和接收消息,实际上就是对套接字的 send 和 recv 方法的封装。在这个示例中,客户端和服务器端使用同一个函数来接收消息。在实际应用中,可能需要根据具体情况编写不同的接收函数。