我希望通过Python中的套接字同时发送和接收信息。
你可以从下面的代码中看到我使用的代码
threading
但还是不行。我不知道是否有错误或是我误解了什么。
服务器端代码:
import socket
import threading as td# 导å
¥ socket 模å
def send():
while True: # 建ç«å®¢æ·ç«¯è¿æ¥
send_text=input('send:')
c.send(send_text.encode('utf-8'))
def recv():
while True:
a=s.recv(1024).decode('utf8')
print('servwe:',a)
while True:
global t1
global t2
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
address=('0.0.0.0',9000) # 设置端å£
s.bind(address) # ç»å®ç«¯å£
s.listen(5)
c,addr=s.accept()
print('client deviceï¼',addr)# çå¾
客æ·ç«¯è¿æ¥
t1=td.Thread(target=send())
t2=td.Thread(target=recv)
t1.start()
t2.start()
客户-
import socket # 导å
¥ socket 模å
import threading as td
def recv():
global data
while True:
a=s.recv(1024).decode('utf8')
print('server:',a)
t1.start()
def send():
while True: # 建ç«å®¢æ·ç«¯è¿æ¥
send_text=input('send:')
s.send(send_text.encode('utf-8'))
t1.start()
t2.start()
while True:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
address=('192.168.68.115',9000)
s.connect(address) # å建 socket 对象
t1=td.Thread(target=send())
t2=td.Thread(target=recv)
t1.start()
t2.start()