我写了一个程序,它接受主机名和端口号的命令行参数。当我删除主要功能时它工作正常,一旦我定义了主要功能,就不会显示任何内容。
import sys
import socket
from pip._vendor.distlib.compat import raw_input
import os
import threading
def Main(serverName,serverPort):
print('Initialising the socket')
serverName=sys.argv[1]
serverPort=int(sys.argv[2])
serverAddress=(serverName,serverPort)
#create the TCP/IP socket
clientSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
clientSocket.connect(serverAddress)
sentence = raw_input('enter string in lower case')
clientSocket.send(sentence)
modifiedSentence= clientSocket.recv(1024)
print ('from Server:'), modifiedSentence
clientSocket.close()
if __name__==main:
Main()
最佳答案
在这种情况下,您的 main 不会运行。您需要调整 if 子句,您还需要获取 sys.argv 并将它们传递给 Main() 方法,因为您将其编写为需要参数作为输入。
if __name__ == '__main__':
serverName=sys.argv[1]
serverPort=int(sys.argv[2])
Main(serverName,serverPort)
关于python - python TCP服务器中的主要功能没有生成输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40186911/