如何解决重新输入FOVPyGame和套接字时,将偏移量固定在其他客户端的字符上
我希望在此处发布问题不会有任何危害。真的让我发疯了...
https://hastebin.com/ekigenewel.rb
https://hastebin.com/esuhanigop.py
https://hastebin.com/orutodejif.yaml
我确实发现错误跟踪需要时间并且会有所帮助,因此我没有期待任何事情,只是我怀疑自己可以做到,我已经在上面浪费了4个小时 这个想法是让我用pygame和套接字制作多人游戏。我有一个问题,当客户端A上的字符A从客户端B FOV中退出,然后第二个跟随它时。问题是客户端B char A的偏移量为常数delta [3.3]。
预先感谢
解决方法
您的网络代码无法处理客户端断开连接。一种简单的检测方法是套接字.recv()
返回空数据列表时。目前,它进入了快速的 infinite 循环。
对您的esuhanigop.py
threaded_client()
函数进行小的修补就可以解决此问题:
def threaded_client(connection,addr):
while True:
data = connection.recv(2048)
if ( len( data ) == 0 ): # Client has disconnected
break # Stop communications
set_dat(addr,str(data,encoding='UTF-8'))
dat = get_dat()
if dat:
connection.sendall(str.encode(dat,encoding='UTF-8'))
connection.close()
有了这个补丁,我能够在不看到任何python错误的情况下,增加与服务器的连接和断开连接。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。