草庐IT

TCP和UDP区别

全部标签

c - udp 套接字中接收缓冲区/队列的最大大小

我开发了一个udp服务器/客户端应用程序,其中服务器有一个套接字,它可以连续接收来自40个客户端的数据。现在我想知道如果所有40个客户端同时发送数据会怎样?根据我的理解,数据必须在接收缓冲区中排队,下次我调用recvfrom()时,接收到缓冲区中排队的数据,即我必须调用recvfrom()40次才能接收所有40个客户端的数据,即使所有客户端同时发送数据。另外,我想知道40个Client的数据会全部在receivebuffer中排队还是部分数据也会被丢弃?另外,数据可以在接收缓冲区中排队的最大缓冲区大小是多少?数据在什么限制之后被丢弃? 最佳答案

windows - 与directx sdk相比,使用windows sdk学习direct3d11有什么区别?

是否可以通过windows8sdk或directxsdk使用direct3d11?作为一名学习者,不清楚这种选择有什么影响。directx11是用windowssdk学还是directxsdk学,有什么区别? 最佳答案 directxsdk(最后一次是2010年6月,三年前)已弃用。Windows8套件包含最新版本的直接xheader和库。基本API和文档大部分相同,但缺少最近的更改。D3DX已弃用,数学移至directxmath.h,着色器编译移至d3dcompiler.hPix不再适用于最新的Windows,因此您必须坚持使用v

UDP视频流MP2T的分析方法

一、 MP2T视频协议视频直播一般使用MP2T(ISO/IEC13818-1,MPEG-TS)协议,具体有如下几种:   常用的是MP2T/RTP/UDP和MP2T/UDP,主要是直播视频不需要重传。 每7个MP2T包打包为一个RTP,然后每个RTP再打包为一个UDP。或者每7个MP2T包也可以直接打包为一个UDP。(由信令决定TS所属的UDP端口号)。 如果视频速率传输方式是CBR(constbitrate),如果实际视频源压缩比较高或者P帧,则填充无有效载荷的包。注:VBR(variablebitrate) MP2T包:PDU188B(含头),头部4B,头部字段如下:sync_byte 同

windows - 如何让 Windows 7 接受来自地址为 "127.0.0.2"的外部设备的 UDP 消息?

我的公司生产一些带有网络接口(interface)的设备。设备的IP地址=0.0.0.0。客户在现场将设备插入专用网络,然后使用用VB6编写的微型应用程序发现它并设置正确的IP地址。这是通过使用UDP消息来工作的:应用程序广播“谁在那儿?”UDP消息,读回包含设备MAC地址的答案,然后用户发送另一个包含目标MAC的新IP地址的UDP消息。现在,由于某些未知原因,其中一台设备的IP地址设置为127.0.0.2。问题是现在VB应用程序无法再(通过UDP)找到设备,因此无法将IP地址更改为有效地址。进一步的分析显示,如果应用程序在WindowsXP上运行,它会看到设备,但如果应用程序在Win

windows - Windows 中的 ls -la 和 ls -l 有什么区别?

ls-la和ls-l都提供了比ls命令更多的信息。然而,因为他们的输出非常相似,我不清楚这两个命令之间的区别是什么。gitbash中的ls-la和ls-l有什么区别? 最佳答案 这是下面标志的含义。两者不一样。在第一种情况下(ls-l)隐藏文件/文件夹不会列出,而在第二种情况下(ls-la)隐藏文件/文件夹将显示。-l-lusealonglistingformat-a-a,--alldonotignoreentriesstartingwith.这意味着也显示隐藏的文件/目录。 关于win

windows - Windows 8 应用商店应用程序可以通过 UDP/TCP 套接字与 Windows 7 桌面应用程序通信吗?

详细说明情况:我们有两个应用程序,为简单起见,我们将它们称为A和B。两者都在Windows7上开发和运行,它们可以使用UDP/TCP进行连接和通信。现在我们要将AppB转换为Windows8以利用MetroUI。我们是否需要对AppA中的网络代码进行大量更改?它甚至可以继续在Windows7上运行并与运行在Windows8上的AppB通信吗?据我了解,Win8处理套接字的方式与以前的Windows略有不同,因此我表示怀疑。 最佳答案 只是从不同的角度来看,通信在技术上是可行的,但是explicitlyforbidden(假设您要在W

c# - 服务用完 TCP 连接

我有一个Windows服务,它是使用c#.net4.0创建的,它是一些东西的监视器-它上面有一个计时器,它有一个每5分钟运行一次的计时器。所以它有一个定时器控件,在定时器中有一个Elapsed事件:privatevoidTimer_Elapsed(objectsender,System.Events.ElapsedEventArgse){FileMonitorfileMon=newFileMonitor(url);}发生的事情是在FileMonitor中,它使用TfsTeamProjectCollection类连接到TFS服务器项目:TfsTeamProjectCollectiontp

c - Windows 和 Linux 中 printf 的区别

其实除了核心C语言,还有一个C库。如果我的理解是正确的,像printf这样的函数是C库的一部分。现在我已经在Windows的TurboC中用C语言编程,在Linux中使用gcc。我的问题是:像printf这样的函数在windows和linux中的代码实现是一样的吗?最终printf函数必须调用核心操作系统中的一个函数(在这两种情况下),以便在屏幕上显示ASCII字符?那么,由于两种操作系统不同,printf的代码实现在两种情况下是否也不同? 最佳答案 当然(printf的实现和中的所有函数)是不同的(在Linux和Windows上)

c - 使用 StartServiceCtrlDispatcher 从 C 启动 Windows 服务与 StartService 有什么区别?

我已尝试使用StartServiceCtrlDispatcher(),如https://msdn.microsoft.com/en-us/library/windows/desktop/bb540475(v=vs.85).aspx中所述,它可以工作,只是参数不会传递给SvcMain。我可以使用StartService()来解决这个问题吗?这两种启动服务的方法除了StartService()似乎需要的额外代码外还有其他区别吗? 最佳答案 这是服务启动的方式:首先,某些进程必须调用StartService()以告知服务控制管理器(SCM

windows - UDP 和我的电脑?

我最近在我的计算机上打开了Windows防火墙日志记录,并开始跟踪传入和传出连接。对日志文件感到好奇的是,我注意到许多UDP数据包(实际上,它基本上构成了我所有的传入流量)没有将我的主机作为目标或源显示在日志中。我认为这可能是UDP的实现细节(数据包在我的子网中的计算机上跳跃)但是维基百科的UDP不再启发我,我不明白为什么我的计算机应该转发这些数据包放在首位。有什么想法吗?编辑1:这是带有神秘UDP数据包的日志文件行的样子:2008-10-1116:04:31ALLOWUDP18.243.7.218239.255.255.2504915237020-------RECEIVE239.2