草庐IT

tcp_probe

全部标签

ios - iOS/Objective-C 中的 TCP 客户端 - 检查开放端口

我在SO上搜索了一些关于AsyncSocket的问题,但没有任何答案。我觉得我想做的事情很简单,所以它会很糟糕......我已经尝试过非GCD版本,但也没有任何乐趣。我需要能够扫描一系列主机以查找特定的开放TCP端口。不幸的是,我无法控制服务器代码让它使用Bonjour宣布自己。所以,我只能进行强力扫描,并尝试连接到那个端口——如果我收到“连接被拒绝”,那么我知道要继续……所有这些让我想到了AsyncSocket,我认为它是完成这项工作的正确工具。使用作者的示例,我有一个基本的工作示例,但不完全是。就像他的示例一样,我只是为了简单起见而使用主队列。问题是,关于是否调用委托(delega

windows - windows tcp 堆栈的缓冲区限制,特别是使用 winsocket

在开发通过winsocket进行通信的Windows应用程序时,我遇到了以下情况:Alice发起与Bob的tcpsessionBob接受,session建立。Bob正在按顺序发送大量数据(~1000MB)。Bob继续做其他事情。与此同时,Alice慢慢读取数据,每次读取N个字节(其中N是Alice缓冲区的大小,它只分配一次,因为数据在每次读取之间写入文件。此缓冲区已分配由应用程序)。调试时,我发现Bob的send()从不阻塞,即使我在第一次读取之前暂停了Alice。问题是,如何保证整个数据(~1000mb)可供Alice读取?是否有限制此缓冲区长度的已知/可配置参数?

Python TCP/IP - 发送命令

我有望远镜,它由西门子PLC管理。这个望远镜很远。我有一组可以通过TCP/IP发送来执行的命令。此命令采用ASCII格式。这是脚本的简单示例:importsocketTCP_IP=''TCP_PORT=s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)s.connect((TCP_IP,TCP_PORT))s.send('GLLG0\r\n')s.send('DOSO0\r\n')data=s.recv(1024)printdatas.close()我发送了两个命令。第一个用于登录,第二个用于打开圆顶。但是我有两个半圆顶。当我发送这个打

Android 在屏幕关闭时断开 tcp 连接

我的Android应用程序在前台服务中启动并保持TCP连接。该Activity使用StartService()来启动服务。该服务也在其自己的进程中启动。这是服务OnStartCommand://CodeisinC#usingXamarinbutregularJava/AndroidanswersareacceptablepublicoverrideStartCommandResultOnStartCommand(Intentintent,StartCommandFlagsflags,intstartId){base.OnStartCommand(intent,flags,startId

javascript - Nodejs 上的 TCP 流

我正在尝试监听一个发送连续数据流的tcp端口,该数据流由花括号{x,y,z}分隔。当我用Node运行这个脚本时,我得到第一个控制台输出“客户端已连接”,但脚本的其余部分挂起。我可以做些什么来显示到达的数据吗??vars=require('net');varclient=s.connect(2324,'10.12.1.22',function(){console.log('clientconnected');});client.on('data',function(d){console.log(d);});client.end(); 最佳答案

c# - 如何通过 TCP 和 protobuf-net 接收包

我正在编写一个使用ProtocolBufferC#的应用程序。我需要一些如何通过TCP发送和接收数据的示例。特别是,如何确定到达的是哪种类型的包裹。我有课:[ProtoContract]classPackage1{//fields}[ProtoContract]classPackage2{//fields}和写入流的方法privatestaticvoidSendPackage(Streamstream,Package1package){Serializer.Serialize(stream,package);}privatestaticvoidSendPackage(Streamstr

winsock - TCP IP recv() 函数未接收到来自服务器的回显消息

我在Windows中使用TCPIP套接字程序,我在其中创建了一个客户端用于将数据传输到服务器和服务器正在将消息回显给客户端(请注意,服务器已通过telnet应用程序正常工作)。但是当我从客户端发送测试消息时,它会在服务器端收到,但是当我试图在客户端中读取回显消息时>使用recv()函数的一侧我没有得到回显消息,但是无论我在服务器侧输入什么,它都会显示在客户端侧接收recv()函数我通过此链接关注程序http://cs.baylor.edu/~donahoo/practical/CSockets/code/TCPEchoClientWS.c有人有什么解决办法吗?

c# - 异步 TCP 操作期间的 AccessViolation

在各种异步TCP操作期间,我不断收到未处理的AccessViolationException。该异常仅出现在内置函数的反汇编窗口中System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32errorCode,UInt32numBytes,NativeOverlapped*pOVERLAP)。异常的堆栈跟踪仅包含此函数。流水线是:cmpdwordptr[ecx],ecx.最烦人的是异常不规则地到达(程序可以在它之前执行30分钟或6小时或15秒)。这里是完整的异常描述:System.AccessViol

c++ - 如何通过 boost asio 支持 TCP 服务器中的多个连接

我有以下TCP服务器代码:#include#include#include#include#include#include#includeusingboost::asio::ip::tcp;classtcp_connection:publicboost::enable_shared_from_this{public:typedefboost::shared_ptrpointer;staticpointercreate(boost::asio::io_service&io_service){returnpointer(newtcp_connection(io_service));}tcp

sockets - 游戏服务器 TCP 网络套接字 - 公平性

我正在为回合制游戏编写游戏服务器。一个标准是游戏需要对所有玩家尽可能公平。到目前为止它是这样工作的:每个客户端都有一个TCP连接。(如果相关,连接通过WebSockets打开)在运行时,通过epoll持续检查传入的套接字消息。遍历准备好读取套接字的客户端:阅读来自客户的所有消息。更新每条消息的内部游戏状态。将传出消息排队到受影响的客户端。在每个“窗口”结束时(转):遍历客户端并将所有排队的传出消息写入它们的套接字我对公平的关注提出了以下问题:我向客户发送消息的顺序重要吗?在所有套接字上调用write()对我的程序来说只需要几分之一秒,但是如果我对客户端列表进行排序,在底层操作系统或网络