草庐IT

Networking

全部标签

python - 如何编写网络协议(protocol)处理程序

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭9年前。Improvethisquestion我正在尝试编写自己的协议(protocol),以便多个服务器可以传递数据并相互连接,有点像mongo://。我一直在研究TCP并且我了解端口,但是我该如何编写一些东西以便人们可以做类似connect("proto://example.com:6767/")的事情?此外,我正在用python编写。谢谢!

c# - 如何让 StreamReader.ReadLine() 区分 "\r\n"和 "\n"?

我创建了一个函数,它使用StreamReader和TcpClient接收分block的HTTP包。这是我创建的:privatestringrecv(){Thread.Sleep(Config.ApplicationClient.WAIT_INTERVAL);stringresult=String.Empty;stringline=reader.ReadLine();result+=line+"\n";while(line.Length>0){line=reader.ReadLine();result+=line+"\n";}for(intsize=-1,total=0;size!=0;

networking - TCP连接建立中的两军问题

是twoarmyproblem在TCP连接建立中也看到了吗?我确定这是为了TCP连接释放,但我不确定是否建立。如果有人能验证,那就太好了。谢谢。 最佳答案 这不是同一个问题,主要是因为关闭其中一个段应该是最后一个段,所以确认是不够的,你必须使用定时器来决定是否一个阶段已经结束(你知道那些阶段),所以你可以决定你必须重新发送一个connectioncloserequest只是关闭连接,因为自第二个以来已经过去了太多时间已发送连接关闭请求。另一方面,打开连接时不会有lastsegment因为会有后面的数据段,所以只需要重新发送丢失的连接

iphone - 是否可以通过 TCP 连接到在 3G 网络端口上监听的 iPhone?

我正在开发一个严重依赖P2P的应用程序,但我目前没有任何SIM卡可用于试验,所以我正在wifi网络上进行测试。我想知道3G网络上的iPhone是否可以连接,以及我是否需要穿越NAT设备。 最佳答案 您在提供商的路由器后面,您的IP地址类似于10.x.x.x-因此您可以告诉路由器,从互联网到端口9420的TCP连接应该转发到您的设备。我怀疑他们会为你做这件事。 关于iphone-是否可以通过TCP连接到在3G网络端口上监听的iPhone?,我们在StackOverflow上找到一个类似的问

javascript - 试图弄清楚为什么 Firefox 会发送未经请求的 FIN ACK 数据包

我使用OpenLaszlo用DHTML编写了一个应用程序。该应用程序在Chrome中运行良好,但在Firefox中出现问题。javascript客户端向Struts2中间层发出HTTPPOST请求,中间层通过Hibernate查询数据库,然后返回XML响应。该应用程序正在生产中,因此客户端代码、中间层和数据库都托管在我的台式机上。我可以在Chrome和Firefox中并排运行该应用程序,虽然在Chrome中一切正常,但一些HTTP请求(每次都是相同的请求)在Firefox上会失败。失败者会在发起POST请求后立即这样做,没有给出HTTP响应或错误代码(我正在使用Firebug来观察PO

android - 使用android手机作为 "3G to wifi"转发设备,可行吗?请提示

我想让我的“电脑A”(互联网)通过3G网络(TCP,互联网)连接到android手机,当android手机连接到本地wifi(无互联网)时。我有“另一台计算机B”也连接到本地wifi(没有互联网)。如何让电脑A和电脑B直接通信?给我一​​些提示..谢谢!!更新信息1:计算机B必须连接到本地wifi网络更新信息2:我想到的一个解决方案是开发一个小型实用程序应用程序,只需将所有传入的数据包(来自3G)转发到本地wifi中的专用ip。可行吗? 最佳答案 我的猜测是安装一个网络共享应用程序,将您的android设备变成计算机B可以连接到的热

java - "java.net.BindException: Address already in use"尝试使用与前一个线程相同的新线程创建套接字时

我正在使用Java进行客户端-服务器模拟,其中客户端(线程)连接到服务器以获取一些数据。几秒钟后,需要杀死随机选择的客户端(线程)之一。我关闭了它用于与服务器通信的套接字并让他死了(通过退出run()方法)。问题是当新创建的线程试图创建与前一个线程相同的套接字(相同的地址和相同的端口)以连接到服务器时,我得到:java.net.BindException:Addressalreadyinuseatjava.net.PlainSocketImpl.socketBind(NativeMethod)atjava.net.AbstractPlainSocketImpl.bind(Abstrac

networking - 如何控制peer上的socket[TCP Hole Punching]

我有一个使用TCP连接进行通信的服务器-客户端程序。多个客户端可以同时连接到服务器。我想在这个系统上实现tcpholepunching。在客户端,它调用公共(public)服务器来查找我的服务器的公共(public)ip、端口。然后连接到它。但是在服务器端它必须打开一个端口来连接到公共(public)服务器,并且它还必须在同一个端口上接受客户端连接请求。我要做的是打开一个套接字并绑定(bind)到端口X,然后连接到公共(public)服务器,然后将这个套接字更改为监听状态以接受传入连接一段时间,然后开始连接到公共(public)服务器一次又一次。这是正确的方法吗?编辑:我有另一个想法。

http - 为什么 SNDBUF 太低会破坏 HTTP?

我有一个简单的自定义HTTP服务器为客户端提供服务。将SNDBUF设置为512000一切正常。但是,将其设置得较低或保留为默认值(无论是什么)会导致Chrome和Firefox无法接收所有响应数据——Firefox在大约150000-250000字节后截断它(偏移量每次都会改变,即使内容保持不变)相同),Chrome会给出一个没有详细信息的错误。有问题的特定响应大约有300000字节,并且全部在一个block中发送。类似RexSwain'sHTTPViewer的工具、curl和wget报告没有此类问题,并显示所有数据。为什么设置SNDBUF会影响Chrome和Firefox接收数据的能

c++ - 如何解析网络流量的十六进制代码

首先,感谢StackOverflow社区。我在这里找到了很多称职的答案,所以我将尝试提出我自己的问题。我有一个WinPcap示例程序,它将我的网络流量“转储”为Hexcode。我做了一个简单的服务器/客户端对,它定期发送一些文本(22字节)。问题:在C++中解析此十六进制转储并生成类似于Wireshark或phd的输出(仅在控制台中)。在阅读了一些TCP/IP引用资料(1)之后,我无法确定所有字节的“值”所以例如有76个字节,向后读:前22个字节是我的数据;那么,TCP头有20个;IPheader为20,然后是其他一些字节,我不知道它们代表什么。我对IP协议(protocol)不是很了