Java клиент и сервер C ++ - PullRequest
       3

Java клиент и сервер C ++

0 голосов
/ 28 февраля 2020

У меня проблема с получением сообщения от моего 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");
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...