我要用python自己写一个简单的web服务器,实现在一个端口监听请求,然后在另一个端口处理这些请求,建立
TCP连接,因为客户端发送请求的时候带有目标的端口号,那服务器又怎么才能在另一个端口建立TCP连接呢。
如:
clientSocket.connect(xxxx, port1)
然后服务器:
connectionSocket, addr = serverSocket.accept()
这样在port1
端口是已经建立连接了吗?怎么在port2
端口建立连接呢?
我要用python自己写一个简单的web服务器,实现在一个端口监听请求,然后在另一个端口处理这些请求,建立
TCP连接,因为客户端发送请求的时候带有目标的端口号,那服务器又怎么才能在另一个端口建立TCP连接呢。
如:
clientSocket.connect(xxxx, port1)
然后服务器:
connectionSocket, addr = serverSocket.accept()
这样在port1
端口是已经建立连接了吗?怎么在port2
端口建立连接呢?
2 回答4.3k 阅读✓ 已解决
2 回答846 阅读✓ 已解决
1 回答4.1k 阅读✓ 已解决
3 回答835 阅读✓ 已解决
2 回答2.1k 阅读✓ 已解决
4 回答2.5k 阅读
3 回答886 阅读✓ 已解决
问题没问清楚:你想建立的web服务器,是指低层的“TCP服务器”,还是高层的“HTTP服务器”?
看你代码中用到了connect和accept方法,我就假定是第一种。
然后,感觉你对socket编程的概念相当不清楚,服务器端的套接字必须绑定在固定的address元组(IP+端口)上,绑定后怎么可能会让你随便更换端口?
贴段我自学时使用的单线程TCP服务器-客户端代码,供你参考。不理解的话,可以先去过一遍官方手册中的《Socket Programming HOWTO》。