gpt4 book ai didi

python - 无法使用 NetMQ 在 Unity3d 和 Python 之间发送消息

转载 作者:行者123 更新时间:2023-12-04 07:23:22 29 4
gpt4 key购买 nike

我想使用 ZMQ 在 Android 和 Python 之间来回传输消息。我正在使用 NetMQ/ZMQ 这样做。以下是我的请求者代码。

public class Requester : RunAbleThread
{

protected override void Run()
{
ForceDotNet.Force();
using (RequestSocket client = new RequestSocket())
{
client.Connect("tcp://localhost:5556");

for (int i = 0; i < 10 && Running; i++)
{
Debug.Log("Sending Hello");
client.SendFrame("Hello");

string message = null;
bool gotMessage = false;
while (Running)
{
gotMessage = client.TryReceiveFrameString(out message);
if (gotMessage) break;
}

if (gotMessage) Debug.Log("Received " + message);
}
}

NetMQConfig.Cleanup();
}
}
以下是我的接收器代码。
context = zmq.Context()
socket = context.socket(zmq.REP)
socket.bind("tcp://*:5556")

while True:
# Wait for next request from client
message = socket.recv()
print("Received request: %s" % message)

socket.send(b"World")
上面的代码在编辑器模式下工作得很好。但是,当我在 Android 中运行相同的代码时,请求者根本没有收到任何消息。我错过了什么?两台设备都连接到同一个WIFI热点。

最佳答案

您正在使用

client.Connect("tcp://localhost:5556")
localhost是您的设备本身!
它在编辑器中工作,因为编辑器和 python 都在 上运行。同一设备 !
由于python服务器没有在你的手机上运行,​​尝试连接到端口 5556是没有用的。你的手机;)
您更愿意使用与手机在同一网络中的 PC 的 IP。像例如
client.Connect("tcp://192.168.1.234:5556")

关于python - 无法使用 NetMQ 在 Unity3d 和 Python 之间发送消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68363289/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com