我做了一个 Java Socket 服务器和一个 C++ 客户端。但是,客户端连接到服务器,没有问题。但是当我写一些客户端-服务器时,服务器没有捕捉到消息。我做错了什么?
Java Server的一点点代码:
DataInputStream dis=new DataInputStream(usrSocket.getInputStream());
ByteArrayOutputStream out = new ByteArrayOutputStream();
int data;
while((data = dis.read())>=0) {
out.write(data);
}
byte[] bytes = out.toByteArray();
String decrypt = new String(bytes);
if(decrypt.equals("status")){
System.out.println("Status emitted.");
}
System.out.println("Received a message.");
C++ 客户端编写:
QByteArray qba;
qba.append(text);
sock->write(qba.data());
qDebug() << "Send status";
我需要这方面的帮助,非常感谢。(那个变量“text”是一个QString)
编辑
Java 服务器:这只是所有代码的一部分,主线程等待连接(Socket sock = server.accept())并为每个用户创建一个新线程。我发布的 Java 服务器代码,它是用户线程的一部分。如果您需要所有代码,请告诉我。
我将等待答案!非常感谢!对不起,如果我回答你晚了。