草庐IT

socket_desc

全部标签

sockets - 先发送 UDP 消息再发送 TCP 消息有什么好处吗?

我有一个应用程序可以通过LAN与其他客户端进行实时通信。该应用程序要求数据包有序且全部到达。它还需要尽可能快的传输,我在这件事上似乎对TCP有一些问题。所以我在考虑这个,作为一个没有经验的网络程序员,如果我先发送一个UDP协议(protocol)消息,然后用TCP发送相同的数据会怎样。如果UDP消息到达,我会尽快收到它,否则我仍然有TCP消息,确保我至少能收到数据包。显然,我会通过为每条消息提供一个ID或类似信息来确保我不会读取相同的数据两次。这是什么好方法吗?我在想,也许同时发送tcpmessage只会减慢udp消息的速度,所以它无论如何都不会有所作为。

sockets - 保存通过 TCP/IP 发送到进程的数据

我想捕获并保存通过Internet发送到特定进程的数据。有什么工具可以完成这项工作吗?如果不是,监听与我尝试从中获取数据的进程相同的端口是否会获取数据?感谢任何帮助! 最佳答案 您可以试试Wireshark:http://www.wireshark.org/或者RawCap:http://www.netresec.com/?page=RawCap我不知道您要捕获的数据格式是什么。我使用这两个工具从Web服务中捕获xml数据。 关于sockets-保存通过TCP/IP发送到进程的数据,我们

sockets - TCP 实际上定义了 'TCP server' 和 'TCP clients' 吗?

关闭。这个问题是off-topic.它目前不接受答案。想改进这个问题吗?Updatethequestion所以它是on-topic用于堆栈溢出。关闭9年前。Improvethisquestion在维基百科中article,TCP通信使用术语“客户端”和“服务器”进行解释。它还使用“同行”一词。但据我所知,TCP标准没有定义“TCP客户端”和“TCP服务器”。在RFC675文档(“互联网传输协议(protocol)程序规范”),“客户端”一词从未出现。RFC解释说TCP用于通过端口(套接字)连接进程,并且“一对套接字形成一个连接,可用于在任一方向传输数据[即全双工]。但是,将发起方称为“

c++ - Qt Tcp Socket - 一次接收多个发送

使用TCP套接字,我的客户端/服务器有一种情况,消息从客户端发送,服务器接收消息并将它们写入文件。我遇到的问题是出于某种原因,即使我将消息分开,它们都是在一条线上收到的。例如..假设我使用以下方式逐行发送文本文件:socket->write(msg.toUtf8().constData());socket->waitForBytesWritten(5000);服务器有时会在一次接收中收到多条消息。所以如果文本文件说:你好,这是客户有时服务器会收到“你好,这是客户端”,在它们应该分开的时候一起接收两条消息。有人可能会说我当时编码有误,但奇怪的是,如果我在本地测试客户端/服务器,一切都完美

c - Linux C stream socket中的TCP机制

我在LinuxC程序中使用TCP流套接字来传输数据。我的问题是:丢包会发生什么?Linux套接字是否实现了TCP数据包恢复机制,以便丢失的数据包在超时后重新发送?或者我是否必须检查send()返回值并在它为零时重新发送数据? 最佳答案 如果您使用的是TCP套接字或unix域套接字(当您ls-l它)。但是在这两种情况中的任何一种情况下,答案都是肯定的,它们实现了数据包恢复(但是在unix套接字中不会丢失/恢复多少),不,您不必重新发送数据。但是您仍然应该检查send()是否有错误;连接可能断开,因为有人刚刚拔掉了你的网线,或者你的se

sockets - TCP Socket 只接收消息的一部分

我正在使用以下代码执行tcp套接字连接并将字符串发送到IP。但有时在响应中,我没有收到整个文件Socketm_socClient;IPSelected="1.1.2.3"Port="80"stringquery="MyQuery"m_socClient=newSocket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);System.Net.IPAddressremoteIPAddress=System.Net.IPAddress.Parse(IPSelected);System.Net.IPEndPoint

java - 从 java socket(TCP) 读取 19000 字节

这是我的简化代码sock.getOutputStream().write(buff);//sendareadRequestbyte[]rbuff=newbyte[19210];//Answerhas19210bytesofdatasock.getInputStream().read(rbuff);在wireshark中,我看到它被分成几个tcp包。但是读取不应该等到19210字节到达了吗?我得到了数据,但是从某个位置开始,所有字节都是0。这基本上是相同的位置,但有点不同。知道我在这里做错了什么吗? 最佳答案 你可以尝试像这样分blo

c# - async/await Tcp socket 实现只接受一个连接

我习惯了开始/结束APM模式,我想将我的套接字服务器更新为.Net4.5/async/await。我从Internet来源编写了示例代码,但无法正常工作。我希望所有已连接的客户端在被接受连接(尚未实现..)后被分离到自己的类中。接受所有传入连接的循环在自己的线程中运行。基本上,Main.cs是我接受客户端、创建新类(Client.cs/Session.cs)进行连接并将接受客户端指向该类的地方。好吧,这就是我打算做的,它不在代码中,目前的主要问题是我对如何处理这个接受序列的了解以及为什么我不能同时连接多个客户端?我希望你能指出我正确的答案。提前谢谢你。代码Form1.csusingSy

java - socket.Close() 停止程序 (java)

关闭。这个问题是notreproducibleorwascausedbytypos.它目前不接受答案。这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topic在这里,这个问题的解决方式不太可能帮助future的读者。关闭5年前。Improvethisquestion我正在使用Java进行TCP聊天,当我尝试关闭套接字时,作为jFrame窗口的客户端停止工作(加上CPU使用率上升)。我将NetBeans8.1与jdk1.8.0_91一起使用。我需要关闭连接并初始化它。我做了一些研究,但仍然找不到任何东西,我是不是漏掉了什么?编辑大量减少了ChatThread代码

sockets - 枚举耗尽 TCP 端口的 AD 组和成员的脚本

我有一个我已经研究了一段时间的脚本,它做了一些事情:使用Get-ChildItem2(来自下面列出的模块)遍历目录并存储路径。我需要使用这个版本的Get-ChildItem,因为我有超过100k个文件夹的目录,如果没有这个,我会遇到NetBIOS字符限制。使用此处(https://blogs.technet.microsoft.com/fieldcoding/2014/12/05/ntfssecurity-tutorial-1-getting-adding-and-removing-permissions/)中的NTFSSecurity模块获取这些路径的ACLS列表对于ACL上列出的每