简体   繁体   English

套接字python客户端

[英]Sockets python client

I currently have this code 我目前有这个代码

import socket
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
ip = socket.gethostbyname(socket.gethostname())
port = 1111
address=(ip,port)
server.bind(address)
server.listen(1)
print("Started listening on", ip, ":", port)
client.addr=server.accept()
while True:
      data = client.recv(1024)
      print("received",data, "from the client")
      print("Processing data")
      if(data=="Hello server"):
          client.send("hello client")
          print("Processing done")
      elif(data=="disconnect"):
          client.send("goodbye")
          client.close()
          break
      else:
          client.send("Invalid data")
          print("invalid data")

However i get this error message: NameError: name 'client' is not defined. 但是我收到此错误消息:NameError:未定义名称“客户端”。 But why? 但为什么?

Well, that is devoted to the fact that the function server.accept() return two values, the socket itself and the address. 好吧,这专用于一个事实,即功能server.accept()返回两个值,套接字本身和地址。 Therefore being accepted this way: 因此以这种方式被接受:

client, addr = server.accept()

would allow what you are trying to achieve. 将允许您尝试实现的目标。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM