在Python中设置传出TCP请求的端口?

时间:2018-02-02 07:45:08

标签: python

我不仅要为目标服务器(TCP)设置端口,还要为Python客户端应用程序(访问Python或其他TCP服务器)生成的TCP请求的传出信号设置。这就是我所拥有的:

import socket
s = socket.socket()

host = '127.0.0.1' # IP address of the server
port = 30000 # Port of the server

s.connect((host, port))
print("Connected")
while(1):
    dataIn = input('Send: ')
    s.send(bytes(dataIn, 'utf-8'))
    dataOut = s.recv(1024)
    print(dataOut)

所以你可以看到,程序只发送一些简单的字符串。就是这样。

对于一个应用程序(作为TCP服务器),我需要将客户端传出TCP端口设置为服务器已知的修订值。怎么做?

1 个答案:

答案 0 :(得分:0)

这个问题不是Python特有的,而是一个设计问题。服务器应用程序不需要任何有关可能客户端的静态信息。

如果您需要来自客户端的信息,服务器和客户端之间初始握手之后的第一个操作之一是将所需信息从客户端交换到服务器。

E.g。

  1. 服务器开始侦听端口3000
  2. 客户端连接到端口127.0.0.1:3000
  3. 客户端开始侦听端口4000
  4. 客户端将端口4000发送到服务器并等待其连接