我需要使用套接字从C
++客户端到Java服务器接收包含浮点数的数组或类。但是InputStreamReader没正确。任何原因。任何更简单的建议将不胜感激。谢谢。
public static void main(String[] args) throws IOException {
// TODO code application logic here
Values values=new Values();
gui display=new gui();
display.setVisible(true);
ServerSocket Sock=new ServerSocket(9090);
try{
while(true){
System.out.println("Waiting");
Socket socket=Sock.accept();
System.out.println("Connected..");
InputStream ins=socket.getInputStream();
InputStreamReader insr= new InputStreamReader(ins);
BufferedReader br=new BufferedReader(insr);
byte[]Array=br.readLine().getBytes("UTF-8");
// values.SetValues(Array);
values.tWidth=Array[0];
values.waterLevel=Array[4];
values.camHeight=Array[8];
values.camViewAngleY=Array[12];
values.camViewAngleX=Array[16];
values.distFromCamBank=Array[20];
values.distTwoPoints=Array[24];
values.AvgVelocity=Array[28];
values.crossSecArea=Array[32];
values.Flow=Array[36];
values.camTiltAngle=Array[40];
values.aboveWater=Array[44];
System.out.println(values.tWidth);
System.out.println(values.waterLevel);
display.SetValues(values);
socket.close();
}
}
finally{
Sock.close();
}
}
}
我将那些浮点数存储在名为“值”的类中。但是我得到的价值是垃圾。我在发送前检查C ++代码中的值,它们看起来不错。不知道哪里出了问题。请帮忙…!!
我建议你试试
DataInputStream ins = new DataInputStream(socket.getInputStream());
byte[] bytes = new bytes[48];
ins.readFuly(bytes);
ByteBuffer bb = ByteBuffer.wrap(bytes).order(ByteOrder.nativeOrder());
values.tWidth = bb.getFloat();
value.waterLevel = bb.getFloat();
// etc
将语音从Android手机传输到服务器进行音频分析似乎并不容易。 Android: 在android中,audiorecorder提供了一个很好的API,我从实时android音频流到服务器,将麦克风输入流到任何服务器。 输出基本上由以下几行生成: 然而,让插座工作(应该是C/C)让我头疼。我通常想在我的Ubuntu服务器上执行以下三个步骤: 1.接收音频流(我在本地使用Portaudio进行音频
问题内容: 这是代码,但出现错误: 可以从插座接收使用吗? 问题答案: 不。当您有字节数组时,要使用该数组,并且要像文件一样从数组中读取,就可以使用。如果只想从套接字读取字节数组,请执行以下操作: 该变量将包含实际读取的字节数,并且数据当然将在array中。
socket_read和socket_recv之间有什么区别?我正在尝试使用PHP套接字,但使用socket_read时收到了以下警告: 请帮帮我!
我正在尝试从C客户端向nodejs服务器发送GET请求。 nodejs服务器: 这是我的C客户: 因此,C客户端每次在终端中键入内容时都可以发送GET请求。 如果我在建立连接后立即键入一些内容,效果会很好。但是,如果在建立连接后等待15-30秒,然后在客户端程序上键入一些内容,尽管已发送的字节数正确,但服务器无法接收任何内容。 我可以知道哪里出了问题吗?
问题内容: 我有一个Java应用程序,它创建一个套接字来与服务器进程进行通信,例如,新的java.net.Socket(String host,int port)。该应用程序包括一堆旧的c ++代码,这些代码需要从该服务器中吸取大量数据并对其进行处理。当前,这是通过使本机代码创建自己的套接字并连接到服务器来实现的,例如: 在具有多个NIC(例如,有线和wifi或vpn连接)的Windows vis
问题内容: 我正在使用套接字连接我的Android应用程序(客户端)和Java后端服务器。每次与服务器通信时,我都希望从客户端发送两个数据变量。 1)某种消息(由用户通过界面定义) 2)消息的语言(由用户通过界面定义) 我该如何发送这些消息,以便服务器将每个消息解释为一个单独的实体? 在读取了服务器端的数据并做出了适当的结论之后,我想向客户端返回一条消息。(我想我会没事的) 因此,我的两个问题是如