【问题标题】:Python3 TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType' [closed]Python3 TypeError:int()参数必须是字符串,类似字节的对象或数字,而不是'NoneType' [关闭]
【发布时间】:2020-08-22 09:40:10
【问题描述】:

我一直在尝试按照教程进行操作,但是当我尝试在客户端窗口中单击创建游戏时,标题中出现错误。我最终将代码复制并粘贴到 pycharm 中,但仍然遇到同样的错误。我已经链接了website where the tutorial's source code can be found.

【问题讨论】:

  • 错误是哪一行。打印出任何试图应用 int() 的内容。

标签: python python-3.x server pygame client


【解决方案1】:

显然您的游戏客户端无法连接到服务器。

n = Network()
player = int(n.getP()) # <<< here you got an exception

-

class Network:
def __init__(self):
    self.client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    self.server = "10.11.250.207"
    self.port = 5555
    self.addr = (self.server, self.port)
    self.p = self.connect()  # <<< this value is of None type

def getP(self):
    return self.p

def connect(self):
    try:
        self.client.connect(self.addr)
        return self.client.recv(2048).decode()  # << somewhere here an exception occures
    except:  # <<< but it gets cought here
        pass # <<< and method returns None

您确定您的服务器正在运行吗?您必须与客户端同时在单独的控制台窗口中运行它。

【讨论】:

  • 感谢您的解决方案,这不是问题所在,我正在运行服务器。但是,在客户端中我导入了错误的网络文件,我有一个用于单独的项目,这就是它没有连接的原因。
  • 我很高兴它有帮助)
猜你喜欢
  • 1970-01-01
  • 2019-09-16
  • 2021-12-04
  • 1970-01-01
  • 1970-01-01
  • 2016-12-06
  • 2017-11-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多