java c++交互 socket传数据 数据流的有关问题
java c++交互 socket传数据 数据流的问题java写服务器程序,用对象流传递数据。传递给客户端数据代码:Object
java c++交互 socket传数据 数据流的问题
java写服务器程序,用对象流传递数据。传递给客户端数据代码:
ObjectOutputStream oos = new ObjectOutputStream(socket.getOutputStream());
oos.writeObject(ri);
接收客户端数据代码:
ObjectInputStream ois=new ObjectInputStream(s.getInputStream());
DataType dt = (DataType)ois.readObject();//对象流接收的为Object类是所有的类的父类,需要强制转换成DataType类
c++客户端程序,用什么方式收发数据?
不懂c++,求指导!
还有如果用c++调用java代码,通过jni方式,那么c++程序里面是要引入jar包吗? c++ io流 socket
[解决办法]
java能把对象序列化变成字节流,你用C++接受的话,要么就自己写个能把接收到字节流反序列化的程序,要么就只能老老实实地定义一个协议来通讯。或者利用楼上说的,json,pb之类的
jni的话,其实就是接口而已。你把java虚拟机当成一个巨大的程序集,也就是一块内存,然后你要去操作这块内存,就需要用到jni定义好的接口。c++程序里没法用jar,你只能老老实实地注册一个个函数
[解决办法]recv正常接受就可以
当然 java发c++接,存在一个大小端的问题,所以传输的内容中比如数字需要手动转化
[解决办法]个人意见:两个系统之间交换数据的格式首先要方便人看懂,然后再方便两边的程序处理。