草庐IT

m_Socket

全部标签

.net - 使用 TcpClient 和 Socket 伪造慢速连接

我正在尝试编写一个集成测试来证明如果尝试连接到服务器的速度太慢,TCP客户端将正确超时。我有一个FakeServer类,它打开一个Socket并监听传入的连接:publicsealedclassFakeServer:IDisposable{...publicTimeSpanConnectDelay{get;set;}publicvoidStart(){this.CreateSocket();this.socket.Listen(int.MaxValue);this.socket.BeginAccept(this.OnSocketAccepted,null);}privatevoidCr

.net - Socket 异步发送和接收数据

我正在开发一种软​​件,可以从/向大量套接字发送和接收数据。它是高度异步的,因此我担心以下情况:N个线程试图将数据发送到同一个套接字。这是,N个线程同时调用BeginSend。澄清:我没有使用线程,但“系统”使用了它。文档就是这么说的:“当您的应用程序调用BeginSend时,系统将使用一个单独的线程来执行指定的回调方法”我已经完成此测试以了解它是否因SocketException而失败(因为我找不到相关文档):[Test]publicvoidDoIt2(){varbyteCount=0;varmanualEvents=new[]{newManualResetEvent(false),

mysql - Perl Web 应用程序问题 : DBI connect failed: Can't create TCP/IP socket (10106)

我的PerlWeb应用程序有问题,该应用程序在Windows2008r2上的Apache2.2上运行,在CentOS服务器上使用单独的MySQL数据库。这是问题:我定期收到错误超时:DBIconnect('host=10.148.xxx.xxx:database=XXX','root',...)failed:Can'tcreateTCP/IPsocket(10106)当我说周期性时,这意味着大部分时间一切都按预期工作,但有时我会收到此消息并导致我的应用程序抛出错误页面。我在互联网上搜索了很多,发现了一些对我不起作用的推荐解决方案。首先,我认为我的数据库服务器无法访问,但使用MySQL企

linux - 我用 iptables 设置了 socket MARK 和 TTL,但是我不能从 getsockopt 读取它?

我在我的linux服务器上运行iptables-command。iptables-tmangle-Fiptables-tmangle-APREROUTING-mstate--stateNEW-jMARK--set-mark100iptables-tmangle-APREROUTING-jCONNMARK--save-markiptables-tmangle-APREROUTING-jCONNMARK--restore-markiptables-tmangle-APREROUTING-jTTL--ttl-set33这是我的服务器代码的一部分,使用iptables策略,我希望从我的sock

c++ - 使用 RAW_SOCKET 读取 TCP header 并管理 TCP 连接

我正在尝试获取C++11中TCP连接的TCPheader。通读现有的StackOverflow问题(here、here、here和here),我似乎必须打开一个RAW_SOCKET或编写一个Linux内核模块(LKM)来可以访问它。据我所知,打开原始套接字意味着处理整个TCP协议(protocol)(​​握手、窗口大小等)。有没有办法获取TCPheader并让内核管理TCP协议(protocol)(​​“手动”或使用某些框架)?我知道我可以使用libpcap来捕获数据包,但这意味着我的应用程序会以某种方式匹配TCP套接字中的传入数据包和从libpcap捕获的数据包。虽然这是一种可能的解

c# - 从 TCP Socket 接收和发送连续数据

我已经快疯了。所以我决定寻求帮助。场景:在网页中,通过TCP套接字连接到服务器,并在循环中逐字节获取数据。这些数据是连续的。问题:如何制作一个WebSocket来接收和发送数据给播放器(html5标签)。Default.aspxDefault.aspx.csprotectedvoidPage_Load(objectsender,EventArgse){stringtele=HttpContext.Current.Request.QueryString["tele"];stringramal=HttpContext.Current.Request.QueryString["ramal"]

c# - System.Net.Sockets.Socket() 如何使用它的参数?

创建thisclass的新实例时,您指定一个SocketType和ProtocolType.我想要Stream的SocketType。在Stream成员的描述中,它说,“stream使用TCPProtocolType”。但是,我仍然可以手动指定UDP、ICMP、IGMP等不同的ProtocolType,...虽然我不确定这在较低层是如何工作的——如果我要做类似...newNetworkStream(newSocket(SocketType.Stream,ProtocolType.Icmp))我是否会将我的流包装在ICMP流量中(意味着ICMPheader中的流数据)?请提供尽可能多的信

python - socket.connect() 在内部做什么?

所以我正在尝试了解一般网络,尤其是此时的套接字。我正在使用Python套接字库来玩东西。我在互联网上遇到过许多示例,这些示例通过简单的ECHO服务器来演示TCP和UDP套接字。对于TCP对应资源建议使用TCPecho客户端socket_object.connect()toconnecttotheserverandexchangedataoverit.Similarly,theTCPechoserveruseslisten()andaccept()tohandleconnectionsandinteractionswiththeclient.问题现在这些资源提到它是一个TCP连接,因此面

c++ - boost::asio::ip::tcp::socket - 如何绑定(bind)到特定的本地端口

我正在制作一个客户端套接字。为了让我的测试人员更轻松,我想指定套接字将使用的网卡和端口。昨天,在我的谷歌搜索中,我发现:Bindingboostasiotolocaltcpendpoint通过执行打开、绑定(bind)和async_connect,我能够绑定(bind)到特定的网卡,并且我开始在Wireshark中看到流量。但是,Wireshark报告套接字已分配给一个随机端口,而不是我指定的端口。我认为如果端口正在使用中,它会填写传递给绑定(bind)方法的error_code。我做错了什么?这是我的最小示例,是从我的实际解决方案中提取和编辑的。//BoostIncludes#inc

linux - TCP RST 段发送到 peer over socket 的情况有多少?

我知道当进程崩溃时,现有的TCP套接字将通过向其他对等方发送RST数据包(段)而被放弃,并且其他对等方的相关套接字fd将收到RST数据包。RST包发出去还有其他情况吗?例如,如果进程在套接字fd上调用close()但未读数据留在该套接字上,它是否还会通过该套接字fd将RST数据包(段)发送到其他对等点? 最佳答案 引用TCP/IPGuideGenerallyspeaking,aresetisgeneratedwheneversomethinghappensthatis“unexpected”bytheTCPsoftware.Some