Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.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

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,我是Java新手,但对编程并不陌生;从DOS时代起,我就一直在电脑旁工作 我正在尝试编写一个简单的网络代理,我想监听传入的连接请求,但我不想接受请求,因为客户端将立即发送数据。我希望代理在接受连接之前尝试成功打开到预先配置的目标的连接,如果无法到达目标,请断开连接 这是VB6的时候可能的,我相信在C语言中使用事件是可能的,但是问题是代理机是UNIX,我不觉得受虐狂就足以在C++中只为一个系统写任何东西。 有人对如何做这件事有什么想法,或者至少有人对模拟这样的事情有什么想法吗? 我看到的这篇文章太

我是Java新手,但对编程并不陌生;从DOS时代起,我就一直在电脑旁工作

我正在尝试编写一个简单的网络代理,我想监听传入的连接请求,但我不想接受请求,因为客户端将立即发送数据。我希望代理在接受连接之前尝试成功打开到预先配置的目标的连接,如果无法到达目标,请断开连接

<>这是VB6的时候可能的,我相信在C语言中使用事件是可能的,但是问题是代理机是UNIX,我不觉得受虐狂就足以在C++中只为一个系统写任何东西。 有人对如何做这件事有什么想法,或者至少有人对模拟这样的事情有什么想法吗?
我看到的这篇文章太模糊,而且似乎已经过时,因为oracle文档似乎要重定向到另一个页面。

这在Java中是不可能的。按照编写套接字库的方式,如果不接受传入连接,则无法获得有关该连接的详细信息

您提供的链接只能帮助您在接受连接之前拒绝连接,但我认为它不允许您使用SecurityManager拒绝的连接


是否可以在接受连接之前打开与目标的连接,这样您只能在与目标的连接打开时接受?

如果在设定的时间段后没有收到数据,目标服务器将放弃该连接,因此,我无法抢先打开连接。我可以接受连接,然后尝试连接到目标服务器,但如果目标服务器无法连接,我不确定如何处理客户端。我想一个简单的套接字关闭就足够了,但是客户端可能会崩溃。服务器如何知道连接到什么?客户端为什么要提供监听套接字?和一个开放的防火墙端口?答案没有多大意义。问题也不是这样。我假设目的地是固定的,不管连接如何。然后你可以保证,当你接受时,你可以转发它。但是我同意这个问题有点奇怪,所以你假设只有一个客户。不完全是正常情况。在您接受连接之前,客户端可以发送数据。很多,直到你的套接字接收缓冲区的大小。你的问题是基于一个错误的前提。