客户端 - 服务器python和文件打开错误

时间:2017-10-02 17:38:40

标签: python sockets networking server client

我开始在python中开发一个客户端/服务器脚本,在终端中使用一些输入参数,参数:( in)(out)(ip)(port)(mode)根据下面的代码。在被动模式下,它作为服务器,在活动模式下,它充当客户端。但我不明白出现错误的原因。有人可以向我解释一下发生了什么吗?谢谢。

def Main():

    mode = sys.argv[5]

    i = 0  # Auxiliar variable in loop

    if (mode == "passive"):
        port = int(sys.argv[4])
        mySocket = socket.socket()
        mySocket.bind(('', port))  # Passive connection, for server
        mySocket.listen(1)
        conn, addr = mySocket.accept()
        conn.settimeout(1)  # Timeout = 1 segundo
        conn.setblocking(0)  # Non blockable mode
        print("Connection from: " + str(addr))
        print("Connected as server")
        in_arq = open(sys.argv[1], 'r')
        message = in_arq.read()  # File to be send
        out_arq = open(sys.argv[2], 'w')  # File to save data received


    elif (mode == "ative"):
        host = sys.argv[3]
        port = int(sys.argv[4])
        mySocket = socket.socket()
        mySocket.connect((host, port))  # Active connection, for client
        mySocket.settimeout(1)  # Timeout = 1 segundo
        mySocket.setblocking(0)  # Non blockable mode
        print("Connected as client")
        in_arq = open(sys.argv[1], 'r')
        message = in_arq.read()  # File to be send
        out_arq = open(sys.argv[2], 'w')  # File to save data received

    else:
        print("Wrong arguments.")

if __name__ == '__main__':
    Main()

错误:

  

C:\ Users \ AppData \ Local \ Programs \ Python \ Python35-32 \ python.exe C:/Users/Desktop/emulator.py C:\ Users \ Desktop \ textinput C:\ Users \ Desktop \ textoutput 127.0 .0.1 54000 ative

追踪(最近一次呼叫最后一次):

File "C:/Users/Desktop/emulator.py", line 221, in <module>
Main()

File "C:/Users/Desktop/emulator.py", line 202, in Main
in_arq = open(sys.argv[1], 'r')

FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\Desktop\\textinput'

以客户端身份连接

0 个答案:

没有答案