使用UDP停止并等待套接字编程

时间:2011-03-17 18:14:23

标签: java sockets udp

想要使Java停止等待UDP服务器和客户端,但我开始遇到一些问题。我已经制作了一个简单的UDP客户端和服务器而没有停止等待部分,但我现在想学习如何更改它。如何使用Java套接字发送ACK并实现超时?

有人可以在我的实施中发布一些示例供我使用吗?

1 个答案:

答案 0 :(得分:0)

如果您在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;
}

每次发送后,您都会等待确认消息进入,每次收到时,都会发送确认。