【发布时间】:2020-05-19 16:39:02
【问题描述】:
伙计们,我正在尝试在一个简单的聊天 tcp 服务器上工作,该服务器允许从服务器和客户端来回发送消息。我必须这样做,以便在命令行中输入端口号而不是硬编码。我尝试了多种方法,但这是我最近的努力。我收到关于 portnum 不是整数的错误,并且
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM);
s.bind((socket.gethostname(), 1234))
s.listen(5)
while True:
clientsocket, address = s.accept()
print(f"Connection from {address} has been established")
clientsocket.send(bytes("Welocme to the server","utf-8"))
这也是我尝试改变它的地方
portnum = input("Enter port number")
s.bind((socket.gethostname(), portnum))
s.listen(5)
我也尝试过:
port = sys.argv[1:] and port = int(sys.argv[1])
但我不断收到错误并且它不起作用
【问题讨论】:
-
输入返回一个字符串。你需要:'portnum = int(input("输入端口号"))'
-
非常感谢。花了一个小时研究这个,结果非常简单:)
标签: python parsing arguments port