标签: tcp

谁正在侦听Mac OS X上的给定TCP端口?

在Linux上,我可以使用netstat -pntl | grep $PORTfuser -n tcp $PORT找出哪个进程(PID)正在侦听指定的TCP端口.如何在Mac OS X上获得相同的信息?

macos netstat tcp listen

1267
推荐指数
14
解决办法
88万
查看次数

如何使用ADB通过TCP连接到Android?

我正在尝试在Motorola Droid上调试应用程序,但是我在通过USB连接到设备时遇到了一些困难.我的开发服务器是在Hyper-V中运行的Windows 7 64位VM ,因此无法通过客户端或主机上的USB直接连接.

我安装了几个不同的USB-over-TCP解决方案,但由于ADB监视器反复报告"devicemonitor无法开始监视" ,因此连接似乎存在问题.有没有办法使用网络直接从开发机器上的客户端连接到设备上的守护进程,而不是使用USB连接或可能的其他可行选项?

debugging networking android tcp adb

855
推荐指数
20
解决办法
102万
查看次数

"同伴重置连接"是什么意思?

TCP连接上"通过对等连接重置"错误的含义是什么?这是致命错误还是只是通知或与网络故障有关?

sockets tcp

596
推荐指数
2
解决办法
74万
查看次数

386
推荐指数
8
解决办法
37万
查看次数

多个客户端如何同时连接到服务器上的一个端口,比如80?

我了解端口如何工作的基础知识.但是,我没有得到的是多个客户端如何同时连接到端口80.我知道每个客户端都有一个唯一的(用于他们的机器)端口.服务器是否从可用端口回复客户端,并简单地说明回复来自80?这是如何运作的?

connection port tcp client-server http

380
推荐指数
5
解决办法
29万
查看次数

如果远程TCP端口已打开,请从shell脚本进行测试

我正在寻找一种快速而简单的方法,用于在Shell脚本内部正确测试远程服务器上的给定TCP端口是否打开.

我已经设法使用telnet命令,并且它在端口打开时工作正常,但它似乎没有超时,当它不是,只是挂在那里...

这是一个示例:

l_TELNET=`echo "quit" | telnet $SERVER $PORT | grep "Escape character is"`
if [ "$?" -ne 0 ]; then
  echo "Connection to $SERVER on port $PORT failed"
  exit 1
else
  echo "Connection to $SERVER on port $PORT succeeded"
  exit 0
fi
Run Code Online (Sandbox Code Playgroud)

我要么需要一个更好的办法,还是有办法来强制远程登录超时如果它没有下8秒连接,例如,和(在标准输出返回码,或字符串)返回的东西我可以赶上壳.

我知道Perl方法,它使用IO :: Socket :: INET模块并编写了一个测试端口的成功脚本,但是如果可能的话,我宁愿避免使用Perl.

注意:这是我的服务器运行的地方(我需要从中运行它)

SunOS 5.10 Generic_139556-08 i86pc i386 i86pc

shell port solaris tcp telnet

287
推荐指数
12
解决办法
46万
查看次数

什么时候使用UDP而不是TCP?

由于TCP保证了数据包传输,因此可以被认为是"可靠的",而UDP不保证任何东西,数据包可能会丢失.在应用程序中而不是在TCP流上使用UDP传输数据有什么好处?在什么样的情况下,UDP是更好的选择,为什么?

我假设UDP更快,因为它没有创建和维护流的开销,但如果某些数据永远不会到达目的地那么这不是无关紧要的吗?

networking udp tcp

286
推荐指数
12
解决办法
20万
查看次数

人为地创建连接超时错误

当我收到连接超时时,我的软件中出现了一个错误.这些错误非常罕见(通常是我的内部网络丢失了我的连接).如何人工生成这种效果,以便测试我们的软件?

如果重要,应用程序是使用CAsyncSocket类在C++/MFC中编写的.

编辑:

我尝试使用不存在的主机,我收到套接字错误:

WSAEINVAL(10022)参数无效

我的下一次尝试是使用亚历山大建议连接到另一个端口,例如81(虽然在我自己的服务器上).这很有效.与断开的连接完全相同(60秒等待,然后错误).谢谢!

connection networking network-programming tcp

270
推荐指数
10
解决办法
12万
查看次数

节点js ECONNRESET

我正在运行带有socket.io的Express js应用程序用于聊天webapp,并且我在24小时内随机获得以下错误5次左右.节点进程永远包装,并立即重新启动.

问题是重新启动快速将我的用户踢出他们的房间而没人想要.

Web服务器由HAProxy代理.没有套接字稳定性问题,只使用websockets和flashsockets传输.我无法故意重现这一点.

这是节点v0.10.11的错误:

events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: read ECONNRESET     //alternatively it s a 'write'
    at errnoException (net.js:900:11)
    at TCP.onread (net.js:555:19)
error: Forever detected script exited with code: 8
error: Forever restarting script for 2 time
Run Code Online (Sandbox Code Playgroud)

编辑(2013-07-22)

添加了socket.io客户端错误处理程序和未捕获的异常处理程序.似乎这个捕获了错误:

process.on('uncaughtException', function (err) {
  console.error(err.stack);
  console.log("Node NOT Exiting...");
});
Run Code Online (Sandbox Code Playgroud)

所以我怀疑它不是socket.io问题,而是对我做的另一个服务器的http请求或mysql/redis连接.问题是错误堆栈无法帮助我识别代码问题.这是日志输出:

Error: read ECONNRESET
    at errnoException (net.js:900:11)
    at TCP.onread (net.js:555:19)
Run Code Online (Sandbox Code Playgroud)

我怎么知道是什么原因造成的?如何从错误中获得更多信息?

好吧,不是很冗长,但这里是带有"longjohn"的堆栈跟踪:

Exception caught: Error ECONNRESET
{ [Error: read ECONNRESET]
  code: 'ECONNRESET',
  errno: 'ECONNRESET',
  syscall: 'read',
  __cached_trace__: …
Run Code Online (Sandbox Code Playgroud)

sockets tcp node.js express

266
推荐指数
13
解决办法
46万
查看次数

两个应用程序可以侦听同一个端口吗?

同一台机器上的两个应用程序可以绑定到同一个端口和IP地址吗?更进一步,一个应用程序可以收听来自某个IP和另一个远程IP的请求吗?我知道我可以有一个应用程序从两个线程(或叉子)开始有类似的行为,但两个没有任何共同点的应用程序可以做同样的事情吗?

sockets port udp tcp communication

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