使用线程的Java UDP发送/接收数据包

使用线程的Java UDP发送/接收数据包,java,multithreading,sockets,udp,client-server,Java,Multithreading,Sockets,Udp,Client Server,所以我有两条线- 发送方线程-以给定的IP和端口地址向服务器发送UDP数据包,其中包含消息 接收方线程-等待从发送方线程向其发送UDP数据包的服务器获取应答 这两个线程同时运行 我认为接收方线程应该在发送方线程的绑定端口中侦听来自服务器的答案。但是,当我尝试绑定一个套接字来侦听接收线程中来自服务器的消息时,我得到一个错误,即地址已经在使用中(显然是由发送方线程使用的) 我错过了什么?最好的方法是什么?您应该在两个线程中使用相同的套接字。服务器通常会回复传入数据报的源IP:端口。没有理由使用第二个

所以我有两条线-

  • 发送方线程-以给定的IP和端口地址向服务器发送UDP数据包,其中包含消息
  • 接收方线程-等待从发送方线程向其发送UDP数据包的服务器获取应答
  • 这两个线程同时运行

    我认为接收方线程应该在发送方线程的绑定端口中侦听来自服务器的答案。但是,当我尝试绑定一个套接字来侦听接收线程中来自服务器的消息时,我得到一个错误,即地址已经在使用中(显然是由发送方线程使用的)


    我错过了什么?最好的方法是什么?

    您应该在两个线程中使用相同的套接字。服务器通常会回复传入数据报的源IP:端口。没有理由使用第二个套接字、第二个端口、端口共享或任何其他端口。