草庐IT

Android::TCP 数据包

我正在尝试通过RCON端口与我的Minecraft服务器通信。虽然我不知道如何使用套接字和流的东西。四处寻找,我发现他们都有一些共同点。套接字、输入流和输出流。我在我的代码中试过了,但返回没有任何用处。我知道代码实际上发送了一个数据包,因为我从服务器控制台[Rconconnectionfrom:/1.2.3.4]得到了确认。它只是我尝试根据互联网组装的代码,从输出中返回类似于[B@4053f750的内容。不知道那是什么,我也无法在Google中搜索到它。有人可以提供一个好的网站来解释这些东西吗?非常感谢。Sockets;InputStreami;DataInputStreamiD;Ou

javascript - 如何监听 TCP 数据包获取数据并使用 node.js 发送 UDP

我正在尝试在端口上监听TCP数据包,然后从中获取数据并将其转发到UDP端口。原因是监听UDP端口的软件只接受UDP,但我想使用javascriptwebsockets向它发送只使用TCP的数据。 最佳答案 WebSockets不仅仅是一个简单的TCP套接字。该协议(protocol)基本上是一个HTTP升级握手(带有一些特定于WebSockets的安全握手)。如果您只是监听一个端口并盲目地转发数据,那是行不通的,因为浏览器实际上无法建立WebSocket连接。您是否考虑过使用socket.io处理WebSocket端的事情?那就简单

python - 是否可以使用 Python 将数据包注入(inject)现有的 tcp 连接?

正如标题所说,我想使用现有的tcp连接发送数据。所述连接已经由第3方程序建立。我找不到太多关于此的信息,可以肯定地说,我根本不知道它是如何工作的。操作系统是Windows。我首选的编程语言是python-我不想使用第3方python模块,但如果它们能让我的生活更轻松,我会使用。只是澄清一下,以防您不确定我想做什么:我想发送数据,就好像它是由另一个程序发送的一样;很像WPEpro的发送功能。更新:从技术上讲,我不能手动设计TCP数据包,然后告诉网络设备(或操作系统)发送该数据包吗?这与注入(inject)套接字所做的事情不完全一样吗?编辑:维基百科说接收主机确认它收到的数据包,这使得这有

mobile - 使用 TCP 的小数据包不是个好主意吗?使用 UDP 更好

我看到一些帖子说,当您将信息分解成更小的数据包时,TCP的吞吐量会降低。但我正在制作一个真正只需要发送少量信息的游戏服务器。这是一款回合制策略游戏,所以我可以用1个服务器支持的玩家数量比延迟更重要,我说过无论如何我想了解控制延迟以用于future的项目。那么对于很多小数据包来说,UDP是更好的选择吗?我确实需要它们是可靠的,所以如果我丢失数据包,我将不得不重新发送......另外,UDP数据包的实际丢失率是多少?假设服务器在正常情况下运行,它会高达5-10%吗?我应该提到客户端将在移动设备上...他们的丢失率可能比pc高得多? 最佳答案

linux - 如果我在 Linux 上使用原始套接字,内核是否会丢弃带有错误 TCP 校验和的传入数据包?

现在我正在编写一个使用原始TCP套接字的程序。如果有任何带有错误TCP校验和的传入数据包,内核会将它们传递给程序还是丢弃它们?我想知道的原因是弄清楚我是否需​​要手动执行该检查。 最佳答案 由于您自己编写TCP(使用“IP”套接字/层)将必须处理TCP校验和。下面的任何层或任何校验和都将由底层操作系统处理。有了TCP/IP协议(protocol)栈(从下到上的顺序)链接Internet传输申请 关于linux-如果我在Linux上使用原始套接字,内核是否会丢弃带有错误TCP校验和的传入数

tcp - 如何确定原始数据包中 IP header 和 TCP header 的起始字节

我想用libpcap抓包但由于以太网header或802.11header的长度可能会有所不同并且IPheader的长度也可能会有所不同,如何确定IPheader和TCPheader的起始字节(指针)另外,如何区分一个包是纯IP包、TCP包还是UDP包?是否有任何API或方法可以做到这一点?谢谢! 最佳答案 当您使用libpcap时,您可以通过直接查看pcap文件头(用于离线捕获)pcap_file_header.linktype或(用于实时和离线)来确定链路层头的大小捕获)来自对pcap_datalink()的调用。大多数情况下,

tcp - 哪些 header 字段将数据包描述为唯一的?

我正在处理可能包含UDP或TCP有效负载的IP数据包。如果我们只考虑IP级别和传输级别的header,一个数据包的一组代表性字段可能是什么?也就是说,从整体上看,哪些报头字段会使该数据包独一无二?(当然,在没有重复的情况下)如果我们不考虑IP和TCP或UDPchksum字段,其他字段的子集是否足够? 最佳答案 IP和UDP没有“唯一性”的概念。TCP确实如此,由序列号字段暗示。没有足够的字段来明确数据包在传输过程中何时被复制或丢弃。根据评论更新:如果您同时编写发送和接收代码,您可以包含一个IP选项来唯一标识数据包。我建议使用SATN

tcp - 我应该使用 TCP 还是 UDP 数据包来控制无人机?

我应该使用TCP还是UDP连接向PC/基站的无人机发送控制命令?车辆很小(大约只有人的指甲那么大),需要基站持续控制以使其稳定。这是我的想法:TCP应该是可靠的传输但速度慢,而UDP不像TCP那样提供数据包传输的保证但比TCP快。由于我非常关心尽快将数据包从基站传输到无人机,因此我认为使用UDP是可行的方法。我离题了吗?我是否过于简化了这个问题? 最佳答案 在我看来,我不会说这两个。我强烈建议您有一个内部控制回路来稳定无人机,并且只使用数据连接来发送更多面向行为的命令,例如向西飞行、向东飞行等。我假设您正在使用某种无线发射器进行连接

python - 如何使用 scapy 取消设置 TCP 数据包中的 EOL 选项

我一直在Python中使用scapy,但更具体地说,我一直在创建数据包并尝试在TCP层中设置选项。我知道我可以创建一个数据包>>>a=IP()/TCP()我也知道我可以在TCP层设置选项>>>a[TCP].options=[('MSS',1200),('NOP',None)]或者>>>a[TCP].options=('MSS',1200),('NOP',None)我遇到的问题是在我发送数据包并在wireshark中观察它之后。当我没有设置时,Wireshark总是显示在我的数据包中设置了列表结尾(EOL)选项。我不认为无论如何总是设置该选项,因为我已经看到很多没有显示该选项的TCP数据

tcp - 如何使用 (GPRS)sim900 调制解调器发送 MQTT 'Publish' 数据包?

我正在使用带有树莓派的sim900调制解调器,我能够使用TCP的AT命令连接到服务器,但是当我尝试发送mqtt发布数据包时如下(我使用tcpflow从mosquitto库获取这个数据包):Serial.print("0");Serial.print("0x10");Serial.print("0x0");Serial.print("0x8");Serial.print("ABC/XYZ");Serial.print("HELLO");Serial.print("0x0");它不起作用。 最佳答案 关注这个tutorial使用SIM9