Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java套接字全双工_Java_Sockets - Fatal编程技术网

java套接字全双工

java套接字全双工,java,sockets,Java,Sockets,有没有可能让一个服务器和一个客户端有一个套接字连接,同时向两个方向发送数据?我的意思是服务器和客户端同时读写(每个进程中有2个线程) 编辑:我需要“真实”的双向沟通,而不是请求/响应式沟通。客户端和服务器必须能够同时写入 编辑2:天哪,夫人!它起作用了。愚蠢的我,我在客户端/服务器之间发生了死锁,因为读卡器线程中有一个写操作!:)谢谢是的,似乎双方都使用线程进行发送和接收。所以一个套接字连接就可以做到这一点。TCP连接是一个全双工字节流,所以是的,您可以同时读取和写入同一个套接字,尽管您当然不必

有没有可能让一个服务器和一个客户端有一个套接字连接,同时向两个方向发送数据?我的意思是服务器和客户端同时读写(每个进程中有2个线程)

编辑:我需要“真实”的双向沟通,而不是请求/响应式沟通。客户端和服务器必须能够同时写入


编辑2:天哪,夫人!它起作用了。愚蠢的我,我在客户端/服务器之间发生了死锁,因为读卡器线程中有一个写操作!:)谢谢

是的,似乎双方都使用线程进行发送和接收。所以一个套接字连接就可以做到这一点。

TCP连接是一个全双工字节流,所以是的,您可以同时读取和写入同一个套接字,尽管您当然不必求助于线程来进行双向通信。

不完全确定这是否是您所要求的,但这至少是相关的,并且可能会引起你的兴趣:你有如何做到这一点的例子吗。我需要这样的东西。我需要“真正的”双向沟通,而不是请求/响应式的沟通。客户端和服务器都必须能够同时写入。没有线程,就无法实现全双工功能。您可以发送,也可以等待响应。你不能同时做这两件事。因此,如果没有线程,它将是半双工的。你可以在任何给定的时间发送或接收(或等待接收)。无论如何,我都会线程化运行它。此外,当没有任何内容可读取时(尽管这可以通过超时处理),交错也会出现问题。。。现在的孩子们。。。你的套接字不需要阻塞,人们编写了许多没有线程的高性能网络应用程序。