【问题标题】:Socket chat application cannot connect套接字聊天应用程序无法连接
【发布时间】:2018-02-11 10:07:37
【问题描述】:

我正在尝试使用套接字在 Python 中创建一个聊天应用程序。我无法连接 (HOST, PORT) 对。

这是 GUI 代码 sn-p,错误在 client_socket.connect(ADDR) 行中看到:

root = Tk()
root.title("Kchat V1.0")
mainScreenlabel = Frame(root)
mainScreenlabel.pack()
mainScreeninput = Frame(root)
mainScreeninput.pack(side=BOTTOM)
HOST = StringVar()
titleLabel = Label(mainScreenlabel, text="Welcome to Kchat!!")
inputLabel = Label(mainScreeninput, text="Host IP :")
inputEntry = Entry(mainScreeninput, textvariable=HOST)
connectButton = Button(mainScreeninput, text="Connect", command=connect)
titleLabel.pack()
inputLabel.pack(side=LEFT)
inputEntry.pack(side=LEFT)
connectButton.pack()
PORT = 33000
BUFSIZ = 1024
ADDR = (HOST, PORT)
client_socket = socket(AF_INET, SOCK_STREAM)
client_socket.connect(ADDR)

receive_thread = Thread(target=receive)
receive_thread.start()
root.mainloop() #Starts GUI execution

这是我得到的错误:

Tracebak (most recent call last):
    File".\chatClient.py", line 76, in <module>
      client_socket.connect(ADDR)

TypeError: str, bytes or bytearray expected, not StringVar

【问题讨论】:

  • 请以文本形式发布您的代码和错误消息。至少我不会点击任何图片来获取此类信息。
  • 看起来,HOST 是一个tkinter 变量,而不是strbytearray。您需要使用HOST.set(&lt;hostname&gt;) 设置HOST 的值。更多信息,请阅读here
  • @VasilisG.:我看到您的编辑已获得批准,但我会拒绝它。内联代码图像并不是一种改进。
  • @usr2564301 已修复。
  • @usr2564301 我做了另一个编辑,用实际代码替换了图像。但它仍在等待中。

标签: python sockets


【解决方案1】:

你可以试试:

client_socket.connect(HOST, PORT)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-26
    • 1970-01-01
    • 2016-04-30
    • 1970-01-01
    • 1970-01-01
    • 2018-01-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多