我正在尝试使用python创建一个应用程序,该应用程序允许用户连接到服务器并彼此聊天。用户必须输入主机(IP)和端口,然后按一个按钮以连接到服务器。按钮和框是用tkinter完成的。当我使用tkinter按钮连接到服务器时,它返回:
TypeError: str,bytes or bytearray expected,not int
尝试与类似的作品建立联系:
HOST = input("Enter Host: ")
相关代码如下:
#To connect to a server host
def connect():
HOST = etyHost.get()
PORT = etyPort.get()
if isinstance(HOST,str) == True:
print ("Yes")
else:
print ("NO")
print(HOST,PORT)
if not PORT:
PORT = 33000 # Default value.
else:
PORT = int(PORT)
client_socket.connect(ADDR)
#Entry box
etyHost = Entry(jahchat)
etyHost.pack()
etyHost.place(x = 0,y = 250)
#Entry box
etyPort = Entry(jahchat)
etyPort.pack()
etyPort.place(x = 0,y = 275)
#Button
btnConnect = Button(jahchat,text = "Connect",command = connect)
btnConnect.config(width = 20)
btnConnect.place(x = 0,y = 320)
HOST = 1
PORT = 1
client_socket = socket(AF_INET,SOCK_STREAM)
BUFSIZ = 1024
ADDR = (HOST,PORT)
我尝试使用str()将端口和IP整数转换为字符串。 Python将其识别为字符串,但问题未解决。 感谢所有答案。