python - 使用 godot 连接 python 本地服务器

标签 python godot gdscript

我正在尝试将数据发送到 python 服务器:

import socket

s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.bind(('127.0.0.1',6000))

s.listen(5)

while True:
    clientsocket,address = s.accept()
    print(f"Got connection from {address} !")

来自戈多:

var socket = PacketPeerUDP.new()
socket.set_dest_address("127.0.0.1",6000)
socket.put_packet("quit".to_ascii())

基于此link

但似乎不起作用,如何发送数据?

最佳答案

我对 python 服务器不太熟悉,但看起来你有一个监听 TCP 连接的 python 服务器,但在 godot 中你通过 UDP 客户端连接。

如本文所示 Answer SOCK_STREAM 用于 TCP 服务器,SOCK_DGRAM 用于 UDP。

我不确定您想使用哪一个。 UDP 服务器的示例是:

import socket

s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
s.bind(('127.0.0.1',6000))
bufferSize  = 1024

#s.listen(5)
print("running")
while True:
    bytesAddressPair = s.recvfrom(bufferSize)
    message = bytesAddressPair[0]
    clientMsg = "Message from Client:{}".format(message)
    print(clientMsg)

我从这里复制了大部分内容:Sample UDP Server

如果您想要一个 TCP 服务器,您应该更改 Godot 部分以使用 TCP 客户端。参见官方文档here

关于python - 使用 godot 连接 python 本地服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72826676/

相关文章:

Python & Flask 错误使用 Flask-MySQL |未找到模块错误 : No module named 'flask_mysqldb'

python - 优化 Numpy 欧氏距离和方向函数

python - 在 python matplotlib 上使用 slider 更改函数的参数

godot - 为什么我的游戏脚本没有按预期加载?

Python pyqt 多线程脉冲进度条

game-physics - Godot中二维物理的测量单位(单位尺度)?

git - Godot:什么是 .import 文件,你应该将它们提交给 git 吗?

godot - 从 2D 编辑器添加不同的布局选项

game-engine - 检测敌人是否被子弹击中

android - 在 godot 中按住屏幕触摸