关于Java Socket双工通信的问题,请教

通信过程发送二进制数据(可能很大)和命令码,如何设计可以使命令码优先处理,如果用两个socket分开传输管理又比较麻烦。 :lol: :lol:

命令码优先处理该怎么理解?

如果是在排队中的命令码优先处理还好。做二个队列,一个专门的线程负责发送,当命令队列有数据时发送命令队列中的数据,否则发送一个二进制队列中的数据,然后再次检查命令队列,只有命令队列没有数据时才发送一个二进制数据,如此循环。

如果是发送二进制数据的过程中也要中断来发送命令码,不用两个socket才是真的麻烦。

我也不知多大合适。

你可以考虑一下网络条件,看传输一定量的数据需要多长时间,如果这个时间是可以接受的命令延迟,那就可以将二进制数据分割成这个大小。