Java 클라이언트는 TCP를 사용하여 C++ 서버에 연결할 수 있습니다. Java 클라이언트는 Win7에 있습니다. C++ 서버는 Linux에 있습니다.Java 클라이언트에서 C++ 서버로 데이터를 보내려면 어떻게해야합니까?
문제는 데이터를 C++ 서버에 성공적으로 보낼 수 없다는 것입니다. 자바 코드는 다음과 같습니다 당신의 친절한 도움
public static void main (String [] args) throws IOException {
Socket sock = new Socket("10.217.140.200",7000);
String id = "TEST";
char encoding = 'a';
ObjectOutputStream oos = new ObjectOutputStream(sock.getOutputStream());
oos.flush();
oos.writeObject(encoding);
후, 지금의 OutputStream 사용하고 작동합니다. ObjectOutputStream oos = new ObjectOutputStream(sock.getOutputStream());
을 삭제해야합니다. 그렇지 않으면 4 문자가 C++ 서버에 출력됩니다.
문제가 어디 있는지 확실하게 알 수있는 충분한 정보를 제공하지는 않지만 처음에는'oos.flush()'는'oos.writeObject()'다음에 있어야합니다. – Mac
덕분에, .flush()를 끝까지 이동합니다. – zhoubo
이제 자바 클라이언트에서 C++ 서버로 데이터를 보낼 수 있습니다. 이상한 점은 데이터가 네 번째 위치에 저장된다는 것입니다 (0 ~ 3 위치가 이유는 모르겠다). 사용되지 않음). 수신 된 데이터를 C++ 측에서 인쇄 할 때 0에서 3까지의 결과는 2입니까? 처음 네 위치가 무엇을 사용하는지 알 수 있습니까? – zhoubo