老师,那个,我想知道,用send或者next返回到yiled时,怎么确定返回的是哪一个yiled呢?当出现多个yiled时?
这里到底是重载threading.Thread类的run方法,还是重写threading.Thread类的run方法?
#由一发送到二再传输回来,老师这是为啥?????????????报错了 from socket import * s = socket(AF_INET,SOCK_DGRAM) s.bind(("",8787)) string = "你好" s.sendto(string.encode(),("192.168.43.43",8585)) receive = s.recvfrom(1024) print(receive[0].decode()) from socket import * #创建一个socket对象 udpsock = socket(AF_INET,SOCK_DGRAM) #绑定一个本机的端口和IP udpsock.bind(("",8585)) #绑定得是一个元组 while True: receData = udpsock.recvfrom(1024) print(receData[0].decode()) #字节流转化为字符串 data = input("请输入:") udpsock.sendto(data.encode(),receData[1]) #字符串转化为字节流 udpsock.close()
la
还是没明白端口号为撒会变
import threading from socket import * b = socket(AF_INET, SOCK_DGRAM) def receivedate(): # 接受数据 global b b.bind(("", 7890)) while True: recv_date = b.recvfrom(1024) print(recv_date[0].decode()) def senddate(): # 打印数据 while True: date = input("请输入:") print(date) b.sendto(date.encode(), receivedate().recv_date[1]) if __name__ == '__main__': t1 = threading.Thread(target=receivedate) t2 = threading.Thread(target=senddate) t1.start() t2.start() b.close()
老师,这个聊天窗口怎么写,我一直错误
老师,请问,资料上讲,这段代码有IO,是单纯的切换,没有提高效率,疑问是:这段代码的IO体现在哪里呢
print(f"Treading:{name} start") t1 = Thread(target=func1,args=('t1',)) t2 = Thread(target=func1,args=('t2',))
老师,您能帮我解释一下第一行代码的意思嘛?
第二和第三行代码的target和args是什么意思呢?这几行代码的格式是固定的吗?
老师,一个类中,可以用多线程吗?如果可以,怎么使用?
import threading from socket import * class chatwin(): b = socket(AF_INET, SOCK_DGRAM) b.bind(("", 7890)) def receivedate(self): # 接受数据 while True: global b self.recv_date = b.recvfrom(1024) print(self.recv_date[0].decode()) def senddate(self): # 打印数据 while True: date = input("请输入:") print(date) b.sendto(date.encode(), self.recv_date[1]) if __name__ == '__main__': t1 = threading.Thread(target=receivedate) t2 = threading.Thread(target=senddate) t1.start() t2.start() b.close()
我一直是错的,
老师,请问,下载gevent的时候出错了
#coding = utf-8 # 一个房子,一次只允许两个人进来 from asyncio import sleep from threading import Semaphore, Thread def home(name, se): se.acquire() print(f"{name},进入房间",) sleep(5) print(f"########{name},走出房间", ) se.release() if __name__ == '__main__': se = Semaphore(2) for i in range(1, 8): t = Thread(target=home, args=(f"tom{i}", se)) t.start()
两个问题
1、老师这个“f”是什么作用呢
还有这个{name} 的值 是吧t1、 t2传给了它吗
TCP多线通信问题.docx
def recv_data(): while True: # 接收服务器端数据 recv_data = client_socket.recv(1024) recv_content = recv_data.decode('gbk') print(f"服务端说:{recv_content}") if recv_content == "end": print("结束接收消息") breakdef send_data(): while True: # 给服务端发消息 msg = input(">") client_socket.send(msg.encode('gbk')) if msg == "end": breakif __name__ == '__main__': client_socket = socket(AF_INET, SOCK_STREAM) client_socket.connect(("127.0.0.1", 8899)) t1 = Thread(target=recv_data) t2 = Thread(target=send_data) t1.start() t2.start() client_socket.close()
# coding=utf-8from socket import *from threading import Threaddef recv_data(): while True: recv_data = client_socket.recv(1024) recv_content = recv_data.decode('gbk') print(f"客户端说:{recv_content},来自{client_info}") if recv_content == "end": print("结束接收消息") breakdef send_data(): while True: msg = input(">") client_socket.send(msg.encode('gbk')) if msg == "end": print("结束发送消息!") breakif __name__ == '__main__': server_socket = socket(AF_INET, SOCK_STREAM) server_socket.bind(("127.0.0.1", 8899)) server_socket.listen(5) print("等待接收连接!") client_socket,client_info = server_socket.accept() print("一个客户端建立连接成功!") t1 = Thread(target=recv_data) t2 = Thread(target=send_data) t1.start() t2.start() t1.join() t2.join() client_socket.close() server_socket.close()
老师为什么视频在讲队列时只用到了单线程啊,那队列在多线程中怎么体现???????
老师,我们一定要安装code.exe这个软件吗?用pycharm不可以吗
老师,这个怎么改啊
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637