草庐IT

TCP_DENIED

全部标签

java - 安卓 TCP 客户端。服务器仅在进程停止后接收消息

这个问题在这里已经有了答案:JavaSocketwhyservercannotreplyclient(4个答案)关闭3年前。我有一个用Java编写的简单TCP服务器,我正在尝试为Android编写一个简单的TCP客户端,它将与本地机器上运行的TCP服务器进行通信。我可以让服务器接收消息,但奇怪的是它只在我通过Eclipse中的“设备”窗口停止应用程序进程后才接收消息。在Android客户端上,我有主UI线程,其中包含用于输入IP地址和端口号的字段(这一切工作正常,所以我不包括它的代码)。单击连接按钮时,它会启动一个新的ASyncTask来执行TCP套接字工作。这是ConnectionT

C# 监听 TCP 端口

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭4年前。Improvethisquestion我想监听一个TCP端口。场景:SIP服务器和客户端程序。SIP服务器可能使用端口5010监听并建立多个连接。客户端通过端口5010从他的电脑连接到服务器。当在该端口上收到数据包时,必须在客户端PC上触发一个事件。有什么想法可以从哪里开始吗?

Eclipse TCP/IP Monitor 有两个端口

我正在尝试使用TCP/IP监视器来监视请求。但是,我看到有两个端口正在使用中。一个是应用端口[8080]和另一个监控端口[9833]。谁能告诉我,为什么会有两个不同的端口?当我启动应用程序时,它会在9833而不是8080启动。为什么会发生这种变化? 最佳答案 Eclipse监控是通过捕获发送到应用程序(主机和端口)的所有请求,为您将其转储到Monitor控制台,然后将原始请求转发到应用程序来完成的。受监控的应用程序本身会将其响应返回到Eclipse(它是其预期的客户端),Eclipse也会将其转储到监控控制台上。现在,eclipse

使用 TCP/IP 套接字检查有多少数据已传送到目的地

我正在开发一个需要向客户端发送大量数据的服务器应用程序。但是,客户端可能随时断开连接,在这种情况下,套接字上的send()/write()将返回错误。我想检查在客户端断开连接之前实际传送了多少数据,以便能够在客户端重新连接时从中断的地方继续发送数据。是否可以使用套接字API进行检查? 最佳答案 不,套接字API不会为您提供此信息。事实上,一般情况下不可能知道这一点。根据连接失败的特定方式,一侧的TCP堆栈通常无法知道有多少数据成功到达另一侧。它唯一能知道的是确认了多少数据,这不是一回事。并且考虑到TCP/IP之外的其他事情可能已经失

parsing - 带有 HTTP 数据的 TCP 段

我正在实现一个http解析器;作为http数据的指标,我正在搜索'HTTP/1.?流中的CRLF'。TCP层可以将应用程序提供的缓冲区切割成适合通过网络传输的block。是否可以让http数据(例如GEThttp://www.google.com/index.htmlHTTP/1.1CRLF)不紧跟在TCPheader之后?此外,是否可以跨TCP段拆分“GET..”查询?谢谢。标记 最佳答案 Isitpossibletohavehttpdata(e.g.GEThttp://www.google.com/index.htmlHTTP/

c# - TCP 连接的可靠性如何?

我一直在编写服务器-客户端应用程序。服务器是用c#编写的,客户端代码是用java编写的。通信协议(protocol)是TCP。使用tcp传输文件时,可能会发送丢失的数据。换句话说,tcp是否保证数据正确到达。(我是否应该发送此文件的header信息以检查错误,如文件大小、哈希等) 最佳答案 可靠的tcp传输os的包排序。例如,您的tcp消息分为三个包A、B和C。您的客户端收到A,包B丢失,然后客户端收到C。在流中,您将仅获得包A,包C被存储,一旦包B被您的客户端重新传输和接收,在流中您将获得包B,然后是C。如果包B通过另一种方式路由

建立连接后,Python TCP socket.recv() 什么都不返回

我正在尝试实现最基本的pythonTCP服务器。Windows8,Python2.7,防火墙关闭。代码来自这里:https://wiki.python.org/moin/TcpCommunication如果我通过pythonrepl执行客户端操作(socket(...)、connect(...)、send(...)),一切正常,即服务器正确调用recv时阻塞。但是,如果我通过python脚本运行完全相同的代码(无论是否在Windows命令行显式调用python.exe),recv都会立即返回,但没有数据。我在其他地方读到这意味着它是一个无效的套接字,但我不确定这意味着什么或如何检查它。

linux - epoll TCP 边缘触发最后一次 read(2) 调用的必要性

给定一个非阻塞TCP套接字,如果调用read(sock,buf,bufLen)返回一个值bufLen,然后等待边缘触发的EPOLLIN事件是否安全?还是我必须再次调用read以确保它为零或EAGAIN?在我的测试中,当我删除最后一个调用时,一切都保持正常,我只是想知道它是否在任何地方或Linux源代码中得到保证,以及我是否可以摆脱额外的调用。 最佳答案 你的问题在man7epoll中得到了回答。如您所见,它取决于套接字类型(数据包/流):Q9使用EPOLLET标志(边沿触发行为)时,是否需要连续读/写文件描述符直到EAGAIN?A9

c# - 如何即时编辑任何事件的 tcp 数据包然后重新发送?

ClientApplication====>ServerApplicationNaturalTCPPacketsLocalMachine====>RemoteMachineClientApplication====>INTERCEPTORPACKETS===>ServerApplicationEditedTCPPacketsLocalMachine====>INTERCEPTORPACKETS===>RemoteMachine我听说过LayeredServiceProvider,但我不知道从何入手我的意思是编辑任何类型的数据包(http/https/rtmp/smtp/....)或者有

sockets - 将 "Large"数据文件传输到服务器的简单 TCP 协议(protocol)

致下调选民的信息:请阅读问题,我正在开发小型嵌入式设备。如果您不熟悉此类设备的局限性,请转到另一个问题而不是投反对票!!!!我正在使用内存有限的小型嵌入式设备,我需要从该设备向服务器发送一个大文件。因此,我无法轻松使用HTTPPOST,这要求我在发送之前将整个文件加载到内存中。嵌入式设备有UDP和TCP套接字,但要发送HTTPPOST,例如,我需要创建一个包含HTTPheader和数据的字符串。由于设备没有HTTP协议(protocol)或其他可用作API的协议(protocol)。有人可以推荐一种协议(protocol),我可以使用它来执行“流式传输”或将部分数据发送到服务器的过程吗