我需要从我的Java应用程序监视设备状态(例如设备ip = 192.168.0.22和端口17000,监视器意味着我发送每1秒的请求并获取响应等数据)。我需要与发送给该设备的另一条消息并接收答案(在相同的IP和相同的端口上)并行。我创建了socket = new Socket(ipAddress,port)。如何实现我没有碰到的问题(我需要:我先发送,我从第一个得到响应,我发送第二个从第二个得到响应,我发送第三个得到第三个响应,等等)?Java socket并行发送
0
A
回答
1
除非我失去了一些东西,
- 你可以做每一个单独的线程,
- 或者您也可以将请求发送到所有三个插座,等待所有三个答复。
- 或者你可以设计你的服务器一次有三个未决的请求。 (它可能已正确工作)发送三个请求到一个连接并等待三个回复。
最后一个可能是最有效的解决方案。
1
如果您的工作是关心订单,所以您必须逐一发送请求数据,我的理解是,您的意思是,当您将数据同时发送到设备时,回复你? 不用担心,因为套接字必须缓冲,一个用于发送,另一个用于接收。
1
您可以定义一个请求类型标识符。然后在实现的SocketServer端,可以解析标识符并将请求传递给用于处理该类请求的新线程。因此,在你的情况下,你会定义3个不同的处理程序,并且每种类型都会得到一个请求,您可以选择使用哪个处理程序来处理请求。每个请求将使用相同的Socket进行。
不过,从你的最后一句话:
我需要:我先发,我从第一次得到响应 ,我送第二我从第二 响应,我送第三个我 得到第三响应等等
这听起来不像并行请求。相反,它听起来像你想要一个接一个地运行它们,即第二个请求取决于第一个请求的响应?如果是这种情况,那么你只需使用相同的套接字(不要为每个请求创建一个新套接字)。然后请求代码中的逻辑将仅仅是发送请求1,等待响应1,然后发送请求2等等。
相关问题
- 1. 在Android中发送和接收Socket Java
- 2. 发送和接收Java Socket错误
- 3. Java:通过Socket以低bitdepth发送BufferedImage
- 4. Socket上的Java与WiFifreezing发送文件
- 5. java socket编程:消息发送顺序
- 6. 优化Java Socket发送Android到PC
- 7. android open socket并发送命令
- 8. 并发我的Java Socket编程/ O
- 9. C socket编程,发送
- 10. c socket发送失败
- 11. 通过SOCKET发送文件
- 12. 如何发送并行POST请求Java
- 13. Udp Socket稳定发送,突发接收
- 14. 在C++和Java之间通过TCP Socket发送消息
- 15. Java Socket - 如何在3点之间发送和接收信息?
- 16. Java Socket不向服务器发送消息
- 17. java socket编程问题(发送和接收数据)
- 18. Socket的ArrayList无法发送消息到客户端 - Java
- 19. 使用Java Socket发送HTTP响应时遇到麻烦
- 20. 通过Java发送对象Socket真的很慢
- 21. Java通过Socket发送和接收多条消息
- 22. Java Socket聊天,一些消息没有发送
- 23. Java Socket客户端向设备发送额外的字节
- 24. 无法从Web Socket发送任何数据到Java Scoket
- 25. 如何通过java中的TCP socket发送图像
- 26. python Socket发送ascii命令并接收响应
- 27. Java Socket命令行参数
- 28. C#通过读写SOCKET到JAVA并发生一些并发/套接字问题
- 29. c socket发送字符串命令
- 30. 如何确保Socket发送数据?
它是UDP还是TCP? – Guillaume 2011-02-10 10:04:12