没有为python TCP服务器中的main函数生成输出

时间:2016-10-21 23:55:10

标签: python tcp server

我写了一个程序,它将获取主机名和端口号的命令行参数。它工作正常我删除主要功能,一旦我定义主要功能没有显示。

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()

1 个答案:

答案 0 :(得分:0)

在这种情况下你的主要不会运行。你需要调整if子句,你还需要获取sys.argv并将它们传递给Main()方法,因为你编写它需要参数作为输入。

if __name__ == '__main__':
    serverName=sys.argv[1]
    serverPort=int(sys.argv[2])
    Main(serverName,serverPort)