我正在尝试将数据发送到 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/