草庐IT

tcp_client

全部标签

tcp - HttpWebRequest - 重用 TCP 连接

我正在按照您的预期方式使用HttpWebRequest:在我完成响应后处理响应,希望这将使它重用任何可用的TCP连接,但它没有:它关闭收到响应后的连接。我在使用TCPView时看到了这种情况。这是我的HttpWebRequest代码:privateHttpWebResponseExecuteRequest(StringbaseRelativeUri,Stringmethod,DspostValues){///////////////////////////////////////////Set-upUriuri=newUri(_baseUri,baseRelativeUri);_coo

java - 如何在(基于 Java 的)TCP 中处理多个客户端?

我觉得这些可能是基本主题,但我找不到其他地方对它们进行简洁的回答。当构建一个TCP服务器时,我的理解是每个连接的客户端都必须被分配到它自己的端口以保持合理的连接(例如知道这个消息来自这个客户)。如何设置?我假设您有一个List和一个人们连接的专用“入口点”套接字。连接的Socket会找到一个空闲端口,用端口号回复,并设置一个新的Socket监听该端口。这听起来对吗?如果是这种情况,在我看来,入口Socket在监听传入连接时需要阻塞。这个阻塞读取是在单独的线程上完成的吗?附加问题:对于我想试验的基本Java游戏,我真的只需要一些简单的消息传递。像Netty这样的东西对于这个应用程序的特殊

linux - 为什么 tcp_tw_reuse 默认关闭?

我遇到了一个问题,由于所有连接都处于TIME_WAIT状态,所以我的连接用完了。将超时设置为1s仍然会导致问题。我们使用负载均衡器,所以我使用tcp_tw_reuse而不是回收。我将发布需要打开tcp_tw_reuse的代码。但是,我认为tcp_tw_reuse可能会产生一些负面影响,但我想不出它可能是什么。有谁知道为什么在Linux安装中默认情况下没有打开它?或者,谁能列出任何潜在的负面影响?我假设这不会对系统产生任何影响,直到它用完连接为止,此时对此的需求似乎很明显。谢谢。 最佳答案 今天看到一篇很棒的文章,它提供了一个非常深入

networking - 链接TCP应用程序和UDP应用程序

Youhavetwoapplicationthatneedtoexchangeinformationamongtheminalocalareanetwork.ThefirstapplicationusesTCPforcommunicationwhilethesecondusesUDP.Canwelinkbothapplicationsdirectly?Ifyouranswerisno,explainhowwecanlinkthem?(来自家庭作业)我认为答案是否定的,我们需要在它们之间使用一些翻译器或中间件。但是什么? 最佳答案 如

java - 在本地测试 TCP/IP 连接

目前我有一个应用程序使用IP地址和端口通过TCP/IP连接到终端服务器。我是否可以在我的笔记本电脑上本地创建一个模拟TCP/IP连接,这样我就可以让应用程序连接到我笔记本电脑上的特定IP和端口?我是网络小白,所以如果问题不清楚,请见谅。我尝试这样做的原因是,应用程序正在监听终端服务器上TCP/IP连接上的特定端口,我使用VB宏将一些数据远程发送到同一端口。我想在没有终端服务器(仅使用我的笔记本电脑)的情况下在本地进行相同的测试,但是当我运行该应用程序时,它只能使用TCP/IP连接进行连接。该应用程序是用Java编写的,可以通过提供IP地址和要连接的端口在本地运行,所以我想看看我是否可以

Java TCP 服务器在发送所有行时收到来自客户端的每一行

我写了两个小的java程序:一个从txt文件发送多行数据的TCP客户端,以及一个接受连接并逐行接收数据的TCP服务器。它可以工作,但是当传输结束并且客户端关闭套接字时,服务器会一起接收所有行。我不明白为什么,因为我在每行发送到客户端后都使用刷新,我一直认为这是为了避免这种情况。如果我的test.txt文件包含数字123...10,每一个在新行中,服务器的输出是:“12345678910”,然后在新行中它在控制台中写入“null”。服务器代码:importjava.io.*;importjava.net.*;classServidorTCP{privateStringHOST;stati

tcp - 是否可以在 wireshark 中查看两个远程主机之间的 TCP 流量?

我正在尝试调试两个嵌入式设备之间的TCP通信,其中只有一个在我的控制之下。我想看看Wireshark中发生了什么,但我什么也没看到。甚至可以在Wireshark中查看远程主机之间的流量(但在同一台交换机上)吗? 最佳答案 这取决于你的开关。某些交换机具有称为“portmirroring”的功能'这允许您将特定物理端口上的所有流量镜像到另一个端口。最便宜的方法是选择基本网络hub.默认情况下,这将在所有其他端口上复制单个端口上的所有传入和传出流量。 关于tcp-是否可以在wireshark

database - TCP 连接和 Tomcat

我需要将Tomcat5.5配置为接收直接TCP连接(而不是接收HTTP连接)。想法是从客户端接收TCP连接并将信息存储在数据库中。你能帮忙吗? 最佳答案 您的问题在术语上存在矛盾。Tomcat是一个servlet容器;servlets使用HTTP。您总是可以在Servlet或ServletContextListener中打开一个ServerSocket,但是您实际上需要Tomcat做什么? 关于database-TCP连接和Tomcat,我们在StackOverflow上找到一个类似的问

boost tcp 客户端有时无法检测到与服务器的断开连接

我正在使用boost::asio::tcp::socket连接到服务器,然后调用read_some()从Server接收二进制数据,代码如下:len=sock->read_some(boost::asio::buffer(pBuf),error);if(error==boost::asio::error::eof){break;}elseif(error){break;}但是在Server关闭socket之后,client仍然阻塞在read_some方法中,无法检测到与server的断开并得到错误信息。为什么会出现这个问题? 最佳答案

java - 有没有办法在 Java 中访问 SOL_TCP(又名 IPPROTO_TCP)套接字选项(例如 TCP_KEEPIDLE)?

我希望能够设置TCP套接字KEEPALIVE参数(TCP_KEEPIDLE、TCP_KEEPINTVL和TCP_KEEPCNT),但这些在Socket中似乎不可用。类(class)。基于SocketImpl的文档和SocketOptions类以及关于thispage底部的一些实现细节,我得出的结论是库实现者对setsockopt的“级别”参数进行了硬编码到SOL_SOCKET,这使得无法访问其他级别的选项,例如SOL_TCP/IPPROTO_TCP.我是否缺少另一个处理这些选项的Java类?如果没有,有没有办法获取原始文件描述符编号,以便我可以通过JNI将其传递给一些直接调用setso