Остановите и дождитесь программирования сокетов с помощью UDP - PullRequest
1 голос
/ 17 марта 2011

Я хочу сделать остановившийся и ожидающий Java-сервер и клиент UDP, но у меня начинаются некоторые проблемы.Я сделал простой UDP-клиент и сервер без остановки и ожидания, но теперь я хотел бы узнать, как это изменить.Как я могу отправлять ACK и реализовывать тайм-ауты, используя java-сокеты?

Может кто-нибудь опубликовать несколько примеров для использования в моей реализации?

1 Ответ

0 голосов
/ 23 марта 2011

Если вы реализуете это в UDP, отправка и получение подтверждений остается за вами. Похоже, это то, что вы хотите для этого протокола остановки и ожидания. С точки зрения псевдокода, вы хотели бы что-то вроде:

int Send(msg)
{
    char rcvBuf[];
    sentBytes = sock.send(msg);
    sock.rcv(rcvBuf);
    return sentBytes;
}

int Recv(rcvBuf)
{
    String ackMsg = "ACK";
    length = sock.rcv(rcvBuf);
    sock.send(ackMsg);
    return length;
}

После каждой отправки вы ждете подтверждения, и каждый раз, когда вы получаете, вы отправляете подтверждение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...