У меня проблема с получением сообщения от моего TCP-сервера, написанного на C ++ (код ниже)
#pragma comment(lib, "Ws2_32.lib")
#include <cstdio>
#include <WinSock2.h>
#include <WS2tcpip.h>
int main() {
WSAData wsaData;
WORD DDLVersion = MAKEWORD(2, 1);
if(WSAStartup(DDLVersion, &wsaData) != 0) {
printf("ERROR!\n");
exit(1);
}
SOCKADDR_IN addr;
InetPton(AF_INET, L"127.0.0.1", &(addr.sin_addr));
//std::cout << addr.sin_addr.S_un.S_addr;
addr.sin_port = htons(1111);
addr.sin_family = AF_INET;
SOCKET sListen = socket(AF_INET, SOCK_STREAM, NULL);
bind(sListen, (SOCKADDR *)&addr, sizeof(addr));
listen(sListen, SOMAXCONN);
SOCKET newConnection;
int sizeofaddr = sizeof(addr);
newConnection = accept(sListen, (SOCKADDR *)&addr, &sizeofaddr);
if(newConnection == 0) {
printf("Connection error!\n");
exit(2);
} else {
printf("Client connected!\n");
char msg[16] = "Hello World!!!";
send(newConnection, msg, sizeof(msg), NULL);
}
return 0;
}
Но я не могу получить свое сообщение в Java клиенте. Как я могу получить это? (Код, который я сейчас использую, ниже)
public static void main(String[] args) throws InterruptedException, IOException {
try {
Socket socket1 = new Socket(IP, PORT);
Scanner scanner = new Scanner(socket1.getInputStream());
if(scanner.hasNextLine())
System.out.println(scanner.nextLine());
else
System.out.println("Information did not arrive");
}catch (UnknownHostException e) {
System.out.println("Exeception");
}
}