Jeromq.jar包下载地址:
https://repo1.maven.org/maven2/org/zeromq/jeromq/0.5.1/
https://mvnrepository.com/artifact/org.zeromq/jeromq
本文使用的是:jeromq-0.5.1.jar
Jeromq工程源码下载地址:
https://github.com/zeromq/jeromq
- 新建unity 工程,在asset路径下新建Plugins, 接着在Plugins中新建Android文件夹
- 将jeromq-0.5.1.jar文件直接拷贝到Android文件夹中
- 在unity 中按照正常流程调用jar包,开始编程
- 按照正常流程打包APK,真机调试(可以用androidstudio解析APK,确保包含jar包)
第三步中可以在android studio 中打开jeromq工程源码,着重关注org->zeromq->ZMQ.java中的类和函数,在unity中调用对应函数
mZMQJava = new AndroidJavaObject("org.zeromq.ZMQ");
mContext_ = mZMQJava.CallStatic<AndroidJavaObject>("context", 1);// 对应jeromq工程中的静态函数public static Context context(int ioThreads)
var socket_ = mContext_.Call<AndroidJavaObject>("socket", (int)type_);//对应jeromq工程中Context类中的函数public Socket socket(SocketType type)
注意:
局域网环境下,如果服务器端和客户端是在不同的设备上,一定要把服务器端的防火墙关闭,且保证两个设备均连接同样的网络,否则会发现调试的时候socket连接和消息发送均正常,但是服务器端收不到任何消息。(最近三天没有进展,怀疑过误改代码,打包流程有误,jar包bug导致连接不稳等问题,最终却发现竟然是服务器端的防火墙没有关闭!)
|