python利用threading写一个socket收发的程序
时间: 2023-05-20 11:00:48 浏览: 113
一个简单的socket数据收发程序
5星 · 资源好评率100%
可以使用以下代码实现:
```python
import threading
import socket
def receive_message(client_socket):
while True:
message = client_socket.recv(1024).decode()
print(message)
def send_message(client_socket):
while True:
message = input()
client_socket.send(message.encode())
if __name__ == '__main__':
server_address = ('localhost', 8888)
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client_socket.connect(server_address)
receive_thread = threading.Thread(target=receive_message, args=(client_socket,))
send_thread = threading.Thread(target=send_message, args=(client_socket,))
receive_thread.start()
send_thread.start()
receive_thread.join()
send_thread.join()
client_socket.close()
```
这个程序使用了 threading 模块来实现多线程,其中一个线程用于接收消息,另一个线程用于发送消息。在主函数中,我们创建了一个客户端 socket,并连接到服务器。然后创建了两个线程,一个用于接收消息,一个用于发送消息。最后启动线程并等待它们结束,然后关闭客户端 socket。
阅读全文