草庐IT

peer-wire-protocol

全部标签

delphi - Indy TCPServer 在客户端连接时出现 `Connection reset by peer` 错误

我正在尝试使用Delphifiremonkey应用程序创建一个TCP服务器。我的资源文件Unit1.fmx如下。objectForm1:TForm1Left=0Top=0Caption='Form1'ClientHeight=480ClientWidth=640FormFactor.Width=320FormFactor.Height=480FormFactor.Devices=[Desktop]OnActivate=FormShowOnCreate=FormCreateDesignerMasterStyle=0objectLabel1:TLabelPosition.X=504.000

c++ - 如何从服务器的源代码中提取网络协议(protocol)?

我正在尝试为一个流行的网络编写一个聊天客户端。原始客户端是专有的,比我想要的大15GB。(公平地说,其他人称之为游戏。)互联网上绝对没有该协议(protocol)的文档,大多数搜索结果只能返回客户端的脚本接口(interface)。我能理解,如果使用不当,可能会破坏其他人的体验。我已经下载了几个备选服务器的源代码,包括我想连接的那个,但是那些除安装说明外不包含任何文档评论很差(我粗略浏览了一下)非常庞大(目标服务器的src文件夹包含12MB的.cpp和.h文件),以及grep没有找到相关内容我也试过搜索他们的论坛并联系服务器的维护者,但到目前为止,没有成功。数据包嗅探不太可能有帮助,因

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

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

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

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

tcp - Protocol Buffer Wireshark 插件

我正在为googleprotocolbuffer寻找一个wireshark插件。我找到了这个GPBWireshark插件http://code.google.com/p/protobuf-wireshark/显然只有UDP……是否有适用于TCP的wiresharkGPB插件? 最佳答案 您可以改用Wireshark附带的Protobuf解析器。从Wireshark3.2.0开始,现在可以配置*.proto文件以更精确地解析序列化的Protobuf数据(例如gRPC)。从该版本开始支持基于UDP端口解析Protobuf数据。您还可以编

c# - 每个套接字地址(协议(protocol)/网络地址/端口)通常只允许使用一次

我正在连接到Asp.Net中的TCP/IP端口,基本上我已经在我正在读取的这个端口上连接了一个设备,它工作正常但是第二次当tcp监听器尝试启动时它会生成上面的内容错误。任何人都可以指导我如何摆脱这个错误这是我用来连接到TCP/IP端口的代码:try{byte[]ipaddress=newbyte[4];stringip=ConfigurationManager.AppSettings["IP"].ToString();string[]ips=ip.Split('.');ipaddress[0]=(byte)Convert.ToInt32(ips[0]);ipaddress[1]=(by

http - 无论协议(protocol)如何,服务器是否有可能知道 TCP 流具有 "finished"?

服务器是否有可能知道客户端已完成向其发送数据并且现在准备好响应-无论(并且不知道)应用程序协议(protocol)?编辑:考虑创建一个代理服务器。你不能影响协议(protocol),你不知道每个协议(protocol)的应用细节(所以你不知道流何时“结束”)。关于“客户端可能会关闭输入流”——这是真的,但显然客户端实际上并没有关闭流(与重用有关吗?)。这是通过网络浏览器进行的经验测试。虽然我可能在错误的树上吠叫-对于代理服务器场景,将流复制到“另一端”的输出流是否足够?但是,另一端如何“知道”流已经结束?查看这个程序:publicclassTest{publicstaticvoidma

c++ - 使用 SMTP 协议(protocol)和 boost 库发送电子邮件

我正在尝试使用SMTP协议(protocol)和boost库发送电子邮件但出于某种原因,我无法连接到hotmailsmtp服务器并向自己发送电子邮件。这是我的代码:我做错了什么?DNS_RECORD*ppQueryResultsSet=NULL;//dnsmxlookupDnsQuery(L"hotmail.com",DNS_TYPE_MX,DNS_QUERY_STANDARD,NULL,&ppQueryResultsSet,NULL);if(ppQueryResultsSet==NULL)returnfalse;//iamgettingthemxservers(i.e:mx3.hot

java - jdk socket实现了哪些协议(protocol)

如果我没理解错的话,我们使用java.io/java.nio.*来实现一个应用,应该是ISO5层模型的应用层实现(可能不准确)。我认为JDK应该实现更底层(传输层、网络层甚至L2、L1),如果是,基于哪些协议(protocol)。如果没有,请介绍一下? 最佳答案 可能你对它的了解非常基础,所以混淆了很多东西。java.nio等提供应用层(OSI第7层)或套接字(套接字比应用层低一点,因为您可以在它们之上制作http、ftp等),它们确实实现了所有较低层也。如果没有较低层,您实际上无法发送单个数据包,因此无法通信。程序员是否有权访问这

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

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