草庐IT

SMB1Protocol

全部标签

c++ - 高效的数据包类型/传输协议(protocol)

在C++中使用boost::asio,我试图确定在我的程序中加密数据包的最佳方法。我想通过类型号自己定义数据包,每个数据包都有不同的固定数据包大小。系统读取标题(数据列表条目的类型和数量)并创建适当的结构来接收数据,然后根据接收到的数据使用react。但是,当我看到这个方法时,我想知道是否有更简单的方法可以在不牺牲效率的情况下实现这一点。这些数据包将通过TCP在不同的应用程序之间发送。理想情况下,我的目标是这两个应用程序使用尽可能少的带宽和CPU,同时尽可能简单地修改。有什么建议吗? 最佳答案 TCP使用数据的流,而不是数据包。我强

.net - 使用 netTCP 协议(protocol)实现 WCF

在成功让WCF服务和客户端使用Http相互通信后,我现在正尝试将其切换到netTcp,以便我可以加密通信。但是,我无法根据该协议(protocol)建立连接。更改服务上的App.config文件并删除客户端项目中的服务引用后,我正在尝试重新添加服务引用。单击“发现”可找到该服务,但在地址为http://localhost:31284/MyService.svc的http上这不是我在任何地方指定的地址:我认为它一定是默认地址。如果我尝试添加此服务,我会收到错误消息:TheHTMLdocumentdoesnotcontainWebservicediscoveryinformation.Me

protocols - 互联网应用程序的开源应用程序/协议(protocol)

在不久的将来,我需要开始一个新项目,该项目由高负载的TCP/IP服务器和与该服务器通信的客户端组成。我了解TCP/IP的基础知识,可以使服务器和客户端通过网络进行通信。问题是我需要找到一些方法来保护服务器免受其他可以发送虚假数据并可能使服务器崩溃的“客户端”的影响。我正在寻找可用于我的应用程序的应用程序级协议(protocol)的任何想法或建议。很确定一定有某种开源MMORPG游戏已经实现了这样的协议(protocol)。非常欢迎任何其他想法。附言我已经检查了WorldForgeproject. 最佳答案 使用身份验证并编写您的服务

c++ - 通过 TCP 实现 TLV 协议(protocol)

我目前正在尝试实现一个在TCP之上使用的(T)LV协议(protocol)。该协议(protocol)的一个非常早期的版本是通过为每个send-recv对发送一条消息来构建的。(即send("messagetotransmit"--recv(...))。这在带宽方面真的很糟糕——我猜是因为我发送的数据包非常小。所以现在我正在尝试切换到LV协议(protocol),一次发送多条消息,仅按各自的长度分隔(我现在使用ProtocolBuffers来序列化我的数据)。我现在有两个问题:在python中,我通过执行发送sock.send(struct.pack("如果我现在将它放入一个循环中并发

sockets - 如何从给定套接字读取协议(protocol)信息?

给定一个套接字,如何找到它的协议(protocol)(即UDP或TCP)?我想到的是使用“getsockname()”==>sockaddr_in。但是“sockaddr_in”好像没有协议(protocol)信息,只有family。创建套接字时,提供协议(protocol)。我只是知道如何检索。感谢您的帮助。 最佳答案 使用getsockopt(2)检查SO_PROTOCOL和/或SO_TYPE套接字选项. 关于sockets-如何从给定套接字读取协议(protocol)信息?,我们在

http - 用于流式传输 A/V 提要的协议(protocol)

网络摄像头使用什么协议(protocol)通过互联网流式传输音频/视频?HTTP?TCP?协议(protocol)中的每一帧是如何发送的?例如,如果他们使用HTTP,网络摄像头软件是否对每个帧进行编码并将其添加为查询字符串参数,例如:http://www.some-url.com?encoded-frame=WJDJ84FU84F85594DK3DK或者,编码帧是否设置为HTTP请求的主体?TCP或任何其他使用的协议(protocol)的类似问题。我问这个问题是因为我想将网络摄像头流式传输到网络服务器,并拥有可以接收每个编码帧、对其进行解码并对其进行处理的软件。提前致谢。

c# - 如何通过远程桌面协议(protocol)生成静态连接字符串

我已经在C#中实现了远程桌面协议(protocol)终端服务。服务器生成连接字符串,客户端使用此连接字符串与服务器连接。问题是每次我启动服务器时,都会生成一个新的连接字符串。有什么方法可以生成静态连接字符串。我的两台电脑都通过电线相互连接...... 最佳答案 在连接字符串中,有一个以前缀“2001:”开头的全局ipv6地址。如果机器重新启动或互联网ipv4地址更改,此地址会更改,之后连接字符串无效。Windows具有PNRP名称,这些名称是计算机的128位唯一名称,并使用p2pDNS解析机制解析为适当的ipv6地址。您可以检查下面

sockets - 哪些协议(protocol)值与 socket() 中的哪些域和类型组合兼容?

我在玩Berkeley套接字,然后我这样做了:#include#include#includeintmain(){autores=socket(AF_INET6,SOCK_STREAM,58);if(res输出是:创建套接字时出错:不支持协议(protocol)。我选择58是因为我想尝试以ICMPIPv6套接字为例,并使用/etc/protocols的内容我得到了这个:ipv6-icmp58IPv6-ICMP#IPv6的ICMP。然后我尝试用0代替上面代码中的58,程序运行良好。所以我的问题是:如果我们有,为什么在socket()调用中需要第三个参数已经在第二个参数中将SOCK_STR

sockets - TCP 和 UDP 协议(protocol)意义上的记录或数据边界是什么意思?

我正在学习套接字并在SOCK_SEQPACKET通信协议(protocol)中找到数据或记录边界一词?任何人都可以简单地解释什么是数据边界以及SOCK_SEQPACKET与SOCK_STREAM和SOCK_DGRAM有何不同? 最佳答案 这个答案https://stackoverflow.com/a/9563694/1076479对消息边界(“记录边界”的不同名称)有一个很好的简洁解释。将该答案扩展到SOCK_SEQPACKET:SOCK_STREAM在两个对等点之间提供可靠、有序的数据流通信。它不维护消息(记录)边界,这意味着应用

.net - 用于极低带宽通信的最佳 .NET 通信组件或协议(protocol)?

对于非常低的带宽和间歇性连接的通信(即: 最佳答案 可能是System.Net.Sockets.Socket。该命名空间中还有一个TcpClient和UdpClient。 关于.net-用于极低带宽通信的最佳.NET通信组件或协议(protocol)?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/169759/