我正在尝试使用 ZeroMQ C#-binding ( http://www.zeromq.org/bindings:clr ) 与我在 Unity 中创建的游戏的服务器通信(我使用的是 Mac OS X 10.8)。因此,我创建了一个连接到服务器、发送消息然后接收消息的简单函数:
using UnityEngine;
using System.Runtime.InteropServices;
using System.Collections;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ZeroMQ;
public class NetworkZero : MonoBehaviour {
// Use this for initialization
public static NetworkZero instance;
void Start () {
instance = this;
Debug.Log("START NETWORK COMMUNICATION");
}
// Update is called once per frame
void Update () {
using (ZMQ.Context context = new ZMQ.Context(1))
using (ZMQ.Socket client = context.Socket(ZMQ.SocketType.REQ))
{
string sendMSG = "CLIENT";
client.Connect("tcp://localhost:31415");
client.Bind("tcp://localhost:31415");
client.Send(sendMSG, Encoding.Unicode);
string message = client.Recv(Encoding.Unicode);
Debug.Log("Received request: " + message);
}
}
}
我按照说明在我的项目中包含了必要的库,并在 monoDevelop 中添加了对这些库的引用。但是在程序构建时,当我尝试运行程序时仍然出现以下错误:
DllNotFoundException: libzmq
ZMQ.Context..ctor (Int32 io_threads)
NetworkZero.Update () (at Assets/SLIP/NetworkZero.cs:26)
有没有人有什么建议?