标签: networking

如何中断ServerSocket accept()方法?

在我的主线程中,我有一个while(listening)调用accept()我的ServerSocket对象的循环,然后启动一个新的客户端线程,并在接受新客户端时将其添加到Collection.

我还有一个Admin线程,我想用它来发出命令,比如'exit',这将导致所有客户端线程被关闭,自行关闭,并通过转向监听来关闭主线程.

但是,accept()while(listening)循环块中调用,并且似乎没有任何方法可以中断它,因此无法再次检查while条件并且程序无法退出!

有一个更好的方法吗?或者某种方式来中断阻塞方法?

java networking interrupt blocking

136
推荐指数
3
解决办法
9万
查看次数

127.0.0.1和localhost有什么区别

假设以下内容定义如下.../hosts:

127.0.0.1 localhost
Run Code Online (Sandbox Code Playgroud)

如果有的话,使用127.0.0.1localhost作为服务器名称之间的实际差异是什么,特别是当遇到正在侦听连接的本地运行的进程时?

sockets dns networking localhost

136
推荐指数
4
解决办法
10万
查看次数

处理EditText焦点的事件

任何人都可以建议我任何与焦点有关的事件EditText吗?我的应用程序包含一个EditText,它接受一个URL.

现在我的问题是,用户将在字段中输入URL并进一步移动,没有任何点击事件,即当焦点将从中移动时EditText,它应检测输入的Url并转到服务器.

如果我使用Json Parsing得到答复,那么它会更方便.

networking events android

134
推荐指数
3
解决办法
15万
查看次数

释放TCP/IP端口?

netstat -tulnap 向我展示了正在使用的端口.如何在Linux中释放端口?

linux port networking tcp

132
推荐指数
7
解决办法
26万
查看次数

远程主机强制关闭现有连接

我正在使用一个商业应用程序,它正在抛出带有消息的SocketException,

远程主机强制关闭现有连接

客户端和服务器之间的套接字连接会发生这种情况 连接仍然存在,并且正在传输大量数据,但它随后就无法断开连接.

有没有人见过这个?原因是什么?我可以猜到一些原因,但是有没有办法在这段代码中添加更多内容以找出原因可能是什么?

欢迎任何意见/想法.

... 最新的 ...

我有一些.NET跟踪记录,

System.Net.Sockets Verbose: 0 : [8188] Socket#30180123::Send() DateTime=2010-04-07T20:49:48.6317500Z

System.Net.Sockets Error: 0 : [8188] Exception in the Socket#30180123::Send - An existing connection was forcibly closed by the remote host DateTime=2010-04-07T20:49:48.6317500Z 

System.Net.Sockets Verbose: 0 : [8188] Exiting Socket#30180123::Send() -> 0#0
Run Code Online (Sandbox Code Playgroud)

根据日志记录的其他部分,我看到它说'0#0'表示正在发送一个0字节长度的数据包.但这究竟意味着什么?

发生两种可能性之一,我不确定,

1)连接正在关闭,但数据随后被写入套接字,从而产生上述异常.0#0只表示没有发送任何内容,因为套接字已经关闭.

2)连接仍然是打开的,并且正在发送一个零字节的数据包(即代码有一个错误),0#0表示正在尝试发送一个零字节的数据包.

你怎么看?我想这可能是不确定的,但也许其他人已经看到过这种事情了?

.net c# sockets networking

130
推荐指数
6
解决办法
36万
查看次数

ping响应"请求超时".vs"目标主机无法访问"

当我ping一个IP地址时,请求超时和命令返回的目标主机不可达之间有什么区别?

networking ping icmp

125
推荐指数
3
解决办法
49万
查看次数

如何从来宾计算机访问主机?

我刚刚使用VMware Fusion在我的Mac上创建了一个新的Windows XP VM.VM正在使用NAT来共享主机的Internet连接.

如何访问可在Mac上使用的Rails应用程序http://localhost:3000

vmware networking virtual-machine

122
推荐指数
7
解决办法
11万
查看次数

不推荐使用ConnectivityManager getNetworkInfo(int)

使用compileSdkVersion 23,但是尝试支持9到9.

getNetworkInfo(int)在23中已弃用.建议改为使用getAllNetworks和getNetworkInfo(Network).然而,这两者都需要最少的API 21.

我们可以在支持包中使用哪个类可以帮助解决这个问题吗?

我知道之前提出了一个解决方案,但是我对9的最小api要求的挑战造成了问题.

networking android android-6.0-marshmallow android-connectivitymanager

122
推荐指数
9
解决办法
7万
查看次数

并发调用同一套接字上的send/recv是否有效?

  1. 我们可以在同一个套接字上调用一个线程的发送和另一个线程的recv吗?
  2. 我们可以从同一个套接字上的不同线程并行调用多个发送吗?

我知道一个好的设计应该避免这种情况,但我不清楚这些系统API将如何表现.我也找不到相同的好文档.

方向上的任何指针都会有所帮助.

c sockets networking

119
推荐指数
2
解决办法
5万
查看次数

socket API accept()函数如何工作?

套接字API是TCP/IP和UDP/IP通信的事实标准(即我们所知的网络代码).然而,它的核心功能之一,accept()有点神奇.

借用半正式定义:

在服务器端使用accept().它接受从远程客户端创建新TCP连接的接收传入尝试,并创建与此连接的套接字地址对关联的新套接字.

换句话说,accept返回一个新的套接字,服务器可以通过该套接字与新连接的客户端进行通信.旧套接字(在其accept上调用)保持打开状态,在同一端口上侦听新连接.

accept工作怎么样?它是如何实现的?这个话题有很多混乱.许多人声称接受打开一个新端口,并通过它与客户沟通.但这显然不是真的,因为没有新的端口被打开.你实际上可以通过同一个端口与不同的客户端进行通信,但是如何?当多个线程调用recv同一个端口时,数据如何知道去哪里?

我想这是客户端地址与套接字描述符相关联的内容,每当数据通过时recv它被路由到正确的套接字,但我不确定.

对这种机制的内部运作进行彻底的解释是很好的.

sockets networking tcp

118
推荐指数
3
解决办法
5万
查看次数