计算机网络自顶向下第二章套接字编程作业

前三个网上都有,最后一个自己做了一下,说实话自己思考还是有很多收获的。 先看最后一个: 多线程Web代理服务器

服务端:如图,使用多线程,注意serverSocket.accept()不能写在循环里面,因为我们使用tcp建立连接,建立一次连接就足够,写在循环里面的话客户端只能发送一次请求,然后就必须断开再建立连接,

from socket import * import threading """ ...忘记保存 能够接受http请求并返回信息,并且能够同时接受多个请求 """ serverPort = 12000 serverSocket = socket(AF_INET, SOCK_STREAM) serverSocket.bind(('localhost', serverPort)) serverSocket.listen(5) def connect(): print(threading.current_thread().getName(), " 等待接受数据中...") connectSocket, adress = serverSocket.accept() while True: message = connectSocket.recv(1024).decode() print(threading.current_thread().getName()," 接受到了", adress, "的数据", message) connectSocket.send(message.upper().encode()) # 多线程运行connect函数 threads = [] for i in range(5): threads.append(threading.Thread(target=connect)) threads[i].start()

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwgpdp.html