草庐IT

tcp-accept

全部标签

c++ - boost::asio tcp 数据库服务器

我需要一些提示:我正在编写一个tcp数据库服务器,它可以容纳100个字符串(我使用字符串vector来保存数据)。到目前为止,我实现的基本功能是:客户端发送:PUT"index""value"-字符串被放入vector[index]。客户端发送:GET"index"-vector[index]被发送给客户端我的工作基于boost::asio异步回显服务器示例http://www.boost.org/doc/libs/1_39_0/doc/html/boost_asio/example/echo/async_tcp_echo_server.cpp现在,我想将服务器的功能扩展到:仍未解决1

ruby - 通过 Internet 发送 TCP 数据包(使用 Ruby)

我正在尝试学习如何通过Internet将TCP数据包发送到另一台计算机。也就是说,计算机1通过Internet将数据发送到计算机2(使用TCP)。假设两台计算机都正确设置了端口转发,我将如何在两台计算机之间建立TCP连接(最好使用Ruby)?我在我的LAN上运行它,但是当我通过Internet尝试时,它似乎不起作用。我的尝试(基本上):计算机1:server=TCPServer.new32500client=server.accept计算机2:TCPSocket.newPUBLIC_IP_OF_COMPUTER_1,32500问题是TCPSocket永远不会连接到TCPServer。我

tcp - Microchip TCP/IP 堆栈 PIC18F 无效数据包序列号/确认号

亲爱的StackOverflowers,我正在开展一个项目,使用Microchip的TCP/IP堆栈在我的自定义(和测试)板上的PIC18F87J60上实现一些东西。作为测试,我编写了一些代码来设置连接,将其保持x秒,然后优雅地关闭它。我已经将它实现为一个有限状态机。我还没有添加发送和接收数据。但是,我的程序无法建立连接。使用Wireshark我注意到我的设备通过DHCP成功接收到IP地址并且ARP解析正确完成。我现在省略了DNS,因为这也会出错,但我稍后会解决这个问题。我还看到第一个SYN数据包由我的设备发送并由服务器回复,但3次握手中的3e步骤出错了。确认号只是一个随机数,因此服务

java - 通过套接字读取 TCP 目标

我正在编写Android应用程序。我将端口转发到我的应用程序并使用套接字监听它。我正在接收数据,但只接收TCP层上的数据。那不是问题,但现在我需要原始目标IP,但它应该在TCP层中。那么你知道吗,有没有简单的方法来获取这个IP?或者是否有一种简单的方法来设置套接字以获得比仅通过TCP获得更多层的套接字? 最佳答案 如果您在NAT设备上转发TCP端口,那么您要查找的信息在NATed目的地不可用,因为需要在IPheader中将目标地址覆盖为私有(private)地址才能实现此目的去工作。 关

linux - C Linux tcp 代理服务器套接字

我一直在Linux中进行一些套接字编程,我正在尝试做一个并发代理服务器。基本上我希望每个连接到代理服务器的客户端都会遇到2个问题。第一个是介绍命运的IP,第二个是端口号。发送此信息后,代理服务器会将每个客户端连接到他们选择的IP(即回显服务器)。我的问题是如何以及在哪里保存每个用户回答的2个问题,然后将它们连接到他们选择的回显服务器。这是我认为我们必须处理的代码部分:/*============WARNSTHATSERVERISREADYTOACCEPTREQUESTS==================*/if(listen(sockfd,5)==-1)Abort("Impossib

sockets - 旧 TCP 连接的数据是否有可能潜入同一端口上的新 TCP 连接

我正在套接字上设置SO_REUSEADDR选项。假设一个套接字从一端关闭。并且套接字描述符被重新分配给其他进程。来自旧TCP连接的数据是否有机会潜入新TCP连接?有没有人观察到旧数据偷偷进入新的TCP连接,尤其是在Solaris上? 最佳答案 没有。如果你重新使用本地端口,但是远程主机或端口在后续连接中发生变化,那么这是不可能的。对于从同一本地IP/端口重新连接回同一远程IP/端口的情况,也称为TIME-WAITAssasination,TCP堆栈需要遵守一些规则。主要是-从比前一个连接更高的序列号开始。您可以阅读RFC1337中的

networking - 移动网络方面的持久 TCP 连接?

我对移动连接中的WebSocket通信有疑问。我想知道当用户在不同网络之间迁移时,如何在移动网络中长时间处理长期存在的TCP连接。当发生切换(hand-off)时,已经建立的TCP连接会怎样?在这种情况下,不同技术(3G、4G等)的表现是否不同?如果你能留下一些在线资源或文章,我将不胜感激,我可以在这方面阅读更多内容?提前谢谢你:) 最佳答案 切换对用户始终是透明的——在LTE、UMTS等商业移动网络上的塔之间转换时,所有TCP和语音连接始终保持事件状态。您可能会遇到数据停止的某些时间段流动,但仅此而已。通过在T-MobileUSA

c# - Async TCP Server 代码示例分析

我正在使用以下代码创建异步TCP服务器:privatevoidSetupServerSocket(){varmyEndpoint=newIPEndPoint(IPAddress.Any,_port);_serverSocket=newSocket(myEndpoint.Address.AddressFamily,SocketType.Stream,ProtocolType.Tcp);_serverSocket.SetSocketOption(SocketOptionLevel.Socket,SocketOptionName.KeepAlive,true);_serverSocket.B

Java -> TCP -> node.js(字符串数据传输)

客户端(Java)SockettcpClient=newSocket("localhost",6000);Stringmsg="test";DataOutputStreamos=newDataOutputStream(tcpClient.getOutputStream());PrintWriterpw=newPrintWriter(os);pw.println(msg);pw.flush();服务器(node.jsJavaScript)varnet=require('net');varserver=net.createServer(function(c){//'connection'l

sockets - 当其中一个数据包被丢弃时,TCP 协议(protocol)将如何延迟数据包传输?

如果客户端套接字发送:数据包A-丢弃数据包B数据包C服务器套接字是否会接收并排队B和C,然后当接收到A时,B和C将立即传递给服务器应用程序?或者B和C也会被反感?或者在A交付之前根本不会发送任何数据包? 最佳答案 TCP是一种复杂的协议(protocol),它会根据当前网络状态更改许多参数,有关该主题的书籍很多。回答您的问题最清楚的方法是说TCP通常以字节为单位维护给定的发送“窗口”大小。这是在成功返回先前发送的确认之前将发送的数据量。在旧的TCP规范中,在该窗口内丢弃的数据包将导致从丢弃的数据包开始完全重新发送数据。为了解决这个明