草庐IT

compact_protocol

全部标签

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/

tcp - 通过tcp连接打开优化协议(protocol)打开操作

我正在设计一个名为DITP的新协议(protocol)。它是一种面向连接的协议(protocol),将使用TCP作为传输层。对于常见的Internet协议(protocol),当建立TCP连接时,服务器首先向客户端响应的内容发送问候消息,最终发送其第一个请求。我发现我可以通过反转初始协议(protocol)事务来节省一次往返时间。客户端首先发送问候语,然后发送第一个请求。下图显示了两种协议(protocol)事务时间的比较,以及它如何节省一次往返时间。(来源:disnetwork.info)您可能需要阅读以下博客注释以获得更详细的解释。http://www.disnetwork.inf

network-programming - TCP/IP 协议(protocol)和网络拓扑

我是网络相关方面的新手。我有一些与tcp/ip协议(protocol)和网络相关的基本问题如果两台PC运行的客户端和服务器(通过异步套接字进行通信)之间的网络交换机(在LAN网络中)断电。可以通知客户端和服务器套接字连接不再事件。客户端和服务器在WinXP操作系统上运行,并使用C#进行编码。网络拓扑在套接字客户端和套接字服务器之间的半开放连接的情况下是否起作用。例如是否将其中一端或两者的断开连接状态通知给另一端,这是否取决于网络拓扑。提前致谢。 最佳答案 如果路由器/集线器/交换机等网络元素出现故障,它不会主动导致TCP层上发生任何

java - 如何使用 Java 套接字将加密添加到我自己的基于 TCP 的协议(protocol)中?

因此,我有一个工作协议(protocol),客户端需要使用用户名和密码进行身份验证才能登录服务器。然后服务器和客户端将交换消息和文件。一切正常,我为此使用输入/输出流。我还需要为对话和用户/密码身份验证添加加密。我不想在我的jar里存储一个对称key,所以我想我需要一个公钥/私钥。我知道我可以使用公共(public)/私有(private)加密来发送对称key,但我真的不知道如何在Java中做到这一点。而且我认为我可以只对消息使用加密而不是对文件传输进行加密。我用谷歌搜索并找到了多种使用Java套接字加密的方法,最好(正确)的方法是什么?使用密码输出(输入)流?还是有别的办法?如果有人

java - 什么是 TCP 协议(protocol)中的同步错误?

如何使用JnetPcap(JNETPCAP是libpcap的java包装器)检查连接中的SYN错误?还有如何检查连接中的REJ错误?我正在构建入侵检测系统。目前正在为live系统提取KDDCUP99数据集的属性。任何引用都会对我有帮助。 最佳答案 您可以使用Bro找出连接/流的状态。为此,按如下方式运行Bro:bro-rtrace.pcap这会生成一个文件conn.log,其中包含反射(reflect)连接状态的列conn_state。下面是该字段的一些相关值,详见documentation:S0:看到连接尝试,没有回复。S1:连接

linux -/proc/net/protocols 中的统计信息是什么意思?

LinuxOS/proc/net/protocols中的统计信息是什么意思?cat/proc/net/protocolsprotocolsizesocketsmemorypressmaxhdrslabmoduleclcodiacioindeshssgsserespbibrhauhgpemPACKET8880-1NI0nokernelnnnnnnnnnnnnnnnnnnnUNIX75240-1NI0yeskernelnnnnnnnnnnnnnnnnnnnUDP-Lite8160-1NI0yeskernelyyynyyynyyyyynyyyynRAW7920-1NI0yeskernelyy

linux - tcp keepalive - 协议(protocol)不可用?

我正在尝试设置tcpkeepalive但在这样做时我看到了错误“协议(protocol)不可用”intrc=setsockopt(s,SOL_SOCKET,TCP_KEEPIDLE,&keepalive_idle,sizeof(keepalive_idle));if(rc我可以打开keepalive,设置keepalive间隔和计数,但是keepaliveidle是keepalive时间会抛出该错误,而且我从来没有看到任何使用wireshark和过滤器tcp传输/接收的keepalive数据包。analysis.keep_alive或使用tcpdumpsudotcpdump-vv"tc

python - 我应该为 pyzmq 使用哪种协议(protocol)?

我正在做一个项目,我有一个python客户端服务器模型。我设置了一个服务器来监视请求并发回数据。PYZMQ支持:tcp、udp、pgm、epgm、inproc和ipc。我一直在使用tcp进行进程间通信,但不知道我应该使用什么来通过Internet向服务器发送请求。我只需要放入一些东西:socket.bind(BIND_ADDRESS)DIAGRAM:ClientCommunicatingoverinternettoserverrunningaprogram 最佳答案 您没有使用ipc或inproc进行进程间通信的任何特殊原因?除此之

tcp - Icecast 传输层协议(protocol) - TCP 还是 UDP?

我好像找不到答案,所以我问你。股票Icecast2服务器是否使用TCP或UDP来广播流数据?我知道它使用自定义的基于HTTP的应用层协议(protocol),所以有人可能认为它是TCP,但另一方面它是一个广播应用程序,所以UDP对我来说更合乎逻辑。如果它仍然使用TCP,为什么要这样做? 最佳答案 Icecast和SHOUTcast都将TCP用于源流和到终端客户端的流。这有很多好处:大多数互联网广播电台使用的编解码器不适合丢失大块数据。如果流损坏,无论是丢失的还是乱序的数据包,解码器有时能够重新同步并继续,但很多只会失败。大多数互联网