tcp相关内容
我正在开发一个粗略的 TCP 服务器/客户端.它是这样工作的:客户端向服务器发送消息 > 服务器向每个客户端发送所有用户数据.我将其循环使用,因为我将在游戏中使用这种数据传输进行多人游戏.但是,出于某种原因,我的服务器会将传入的数据组合成一个字符串,而不是逐行读取.例如,它应该读到类似约翰:0|0对于用户数据,但它读起来像 john:0|0john:0|0john:0|0john:0|0我试过设置
..
我无法理解 recv()/recvfrom() 从非阻塞 UDP 套接字返回的内容. 比 TCP 更具体一点(如果我错了,请纠正我): 在缓冲区中有一些数据之前,阻塞套接字(TCP 或 UDP)不会从 recv() 返回.这可能是一些字节数 (TCP) 或一个完整的数据报 (UDP). 非阻塞 TCP 套接字返回 EWOULDBLOCK (linux)/WSAEWOULDBLOC
..
我尝试使用 wget 从我们的网络服务器访问 www.indeed.com,但它引发了“对等连接重置"错误. wget www.indeed.com--2013-02-05 03:03:12-- (try: 3) http://www.indeed.com/连接到 www.indeed.com|208.43.224.140|:80... 已连接.已发送 HTTP 请求,正在等待响应...在标头中
..
我可以使用套接字发送/接收 本教程 现在,我想在插入启用 DCHP 的网络时使用 UDP 来发现嵌入式设备的 IP 地址.借助基于 GUI 的 iOS 应用程序广播 UDP 发现请求,嵌入式设备可以接收请求并回复 iOS 应用程序,宣布它们在网络上的存在和 IP 地址. 我的应用将监听 PORT 30303 的发现请求. 这是PC应用的开源: 使用系统;使用 System.Co
..
我有一个使用 Express 的基本 Node.js 服务器.它需要能够处理 TCP 消息以及 UDP 消息.TCP 部分已启动并运行良好,但现在我需要集成一种方法来嗅探 UDP 消息.我尝试使用 dgram 套接字将处理程序添加到过滤器堆栈,但没有成功. const express = require('express');常量 dgram = 要求('dgram');//...常量应用程序
..
我有以下声明. "在 TCP 中,接收方主机使用所有源 IP、源端口、目的 IP 和目的端口将数据报定向到适当的套接字.而在 UDP 中,接收方仅检查目的端口号来定向数据报." 以上说法是真的吗? 如果是,是否意味着在 TCP 中同一个端口可以在一个进程中用于多个套接字,而在 UDP 中,在一个进程中的一个端口上只能使用一个套接字?不同进程中的套接字呢?多个进程可以在 TCP/U
..
基本上我是 java 服务器和客户端编程的新手,我在谷歌上搜索了所有必要的资源来学习这个特定的主题,但是我不明白它们之间的区别. 到目前为止,我对这两者的理解是它们都可以处理客户端请求,但我需要进一步了解每个类的好处以及我何时可以有效地使用它的特定场景或特定情况. 例如,我有一个服务器客户端程序,它是团队查看器的一个子集,其中客户端程序必须每毫秒将屏幕截图发送到服务器,而服务器将从另一
..
我正在准备考试,发现了这个问题: 可以使用单个套接字来实现典型的 UDP 服务器.解释一下为什么对于 TCP 驱动的服务器,我发现创建了两个套接字 - 一个用于所有客户端都接近服务器,一个用于每个客户端的特定(套接字)用于服务器和客户端之间的进一步通信. 这(在我的理解中)是由并发问题驱动的(希望不与接触点地址上的单个客户进行太多沟通).我知道 UDP 是无连接的,但无法在我的脑海中说
..
这是我的场景. 我有我的设备(安卓手机).而且我知道另一台设备的 IP 地址(这是互联网上的某个远程设备) 那么如何将数据发送到其他设备?我使用 Tcp 或 Udp 等协议吗? 编辑:而且我知道有公共 IP 地址和私有 IP 地址(例如当设备通过 WiFi 连接时).在这种情况下,甚至可以使用 Tcp 或 Udp 吗??? 解决方案 你要做的是一个有共同问题的共同任务(但
..
应用程序级别的消息通过网络以一系列数据包的形式发送,这些数据包在接收端组装并传递到应用程序级别. Java 是否可以在这些单独的数据包级别进行网络编程? 还是在Java中我们只能看到“应用"级别的数据包?IE.由所有这些网络数据包组装而成的“大数据包"? 我试图在谷歌上研究这个问题,但结果真的很混乱. 混淆是由于一些关于 UDP 的资源似乎表明该操作是在数据包上进行的,而其他人则说 Jav
..
我遇到了一个以前从未听说过的问题. 我正在制作一个在特定角色动作中使用 UDP 数据包的在线游戏.在我开发了 udp 模块之后,它似乎工作正常.虽然我们的大多数团队成员都没有问题,但是一个人,他是我的老板,告诉我那个模块有问题. 我调查了这个问题,最后我发现......在他的PC上,如果udp数据包大小小于12,数据包永远不会被传递到其他主机. 以下是一些附加信息: 1~1
..
..
速度、优化和可扩展性是 Udp 和 Tcp 协议之间的典型比较.Tcp 吹捧可靠性,但缺点是有一点额外开销,但速度非常好.一旦实例化了 Tcp 套接字,保持套接字打开需要 一些 开销.但是与经常描述的 Udp 的负担相比,哪个协议实际上有更多的开销?我还听说 Tcp 存在可伸缩性问题……但 Internet(网页/服务器)在 Tcp 上运行 - 那么 Tcp 抑制可伸缩性的原因是什么? 好的
..
我明白为什么将 sockaddr 转换为 sockaddr_in 很有用,但我不明白这怎么可能.根据我的阅读,它们的大小相同,并且 sockaddr_in 添加了 sin_zero 以使其大小相同.如果与 sockaddr 的布局不同,我想知道编译器如何知道从 sockaddr_in 获取信息的位置. 解决方案 这是可能的,因为您通常转换指针,而不是结构本身.您执行自然语言中的意思是“请将
..
我正在尝试创建一个同时使用 TCP 和 UDP 的服务器和客户端.服务器在 LAN 设置中运行良好,但在通过 WAN 传输时未接收到 UDP 消息.我相信这是因为用于发送数据的 UDP 套接字没有在 NAT 表中保留足够长的时间来返回任何信息.有没有办法让 UDP 端口在路由器中保持打开(没有端口转发)或使用与已连接的 TCP 连接相同的 UDP 端口?提前致谢. 解决方案 如果您没有获得
..
为什么 UDP 的头部有长度字段,而 TCP 没有? 我猜测 TCP 中的段长度是从 IP 标头推断出来的,但是对于 UDP 数据报应该能够做到这一点 解决方案 根据TCP/IP Illustrated Volume 1,长度字段是多余的.这就是史蒂文斯对此事所说的全部内容. 我个人认为这是为了使 UDP 标头长度(以位为单位)可被 32 整除 :)
..
..
我正在开发一个完全在单个网络中运行的 .net 解决方案.当用户对系统进行更改时,我想发布一个公告,让其他人听到并采取相应的行动.有没有一种方法可以让我们广播出这样的消息(就像 UDP 会让你做的那样),同时保持有保证的传输(如 TCP)? 这是在一个小型网络(30 多个客户端)上,如果这会有所作为的话. 解决方案 几乎所有游戏都需要 UDP 的快速反应特性(在较小程度上,无连接特性
..
这个问题NOT是关于STREAM类型和DATAGRAM类型INTERNET套接字的区别.我知道 STREAM 套接字使用 TCP,数据报套接字使用 UDP 以及所有 TCP、UDP 内容、按顺序到达的数据包、ACK、NACK 等.我了解这些在互联网上的重要性. Q1) 当我创建一个本地套接字的 UNIX 域套接字时,该套接字是 STREAM 套接字还是 DATAGRAM 套接字有什么关系.这
..
考虑典型的多人游戏服务器. 允许连接到服务器的客户端下载地图和脚本.创建 TCP 连接来完成此操作很简单. 但是,服务器必须继续通过 UDP 响应其余客户端.如果允许 TCP 下载连接使可用带宽饱和,则 UDP 流量将严重遭受丢包的影响. 处理此问题的最佳方法可能是什么?通过跟踪时间和 send() 在固定的时间间隔以某种方式“限制" TCP 上传连接绝对是一个好主意.这样,如果
..