草庐IT

udp_write

全部标签

.net - TCP/IP、UDP、Socket编程可以问的面试问题?

我后天要去面试,面试的时候会问到TCP/IP和UDP相关的各种问题。到目前为止,我已经准备好了关于它的理论知识。但现在我正在寻找获得一些与它在网​​络中如何工作相关的实践知识。各种.NET类中的所有内容。我想创建一个非常小的应用程序,比如聊天之类的,可以让我非常清楚所有这些概念。您能否提出一些与TCP/IP有关的问题,您通常会问或可能遇到过。如何从服务器到客户端进行通信。现在我正在研究TcpClient、TcpListener和UdpClient类,但我想实现所有这些类以了解其工作原理。聊天应用程序是Tcp/IP应用程序吗?非常感谢您的帮助。 最佳答案

c - 为什么在进行远程过程调用时 UDP 优于 TCP?

我正在阅读有关RPC的内容。博客,https://www.cse.iitk.ac.in/users/dheeraj/cs425/lec26.html,建议使用UDP而不是TCP,在进行远程过程调用时,为什么UDP比TCP更受欢迎? 最佳答案 在进行远程过程调用时,UDP通常不优于TCP。事实上,大多数RPC技术(如CORBA、XML-RPC、SOAP、JavaRMI等)的实现都使用TCP而不是UDP作为底层传输。TCP在这里是首选,因为与UDP不同,它已经关心可靠性(处理数据包丢失、重复、重新排序)并且还可以轻松透明地处理任意大小的

c - 在 TCP/UDP 套接字中绑定(bind)

绑定(bind)函数用于为套接字描述符分配一个名称(一个sockaddr结构)。为什么TCP服务器需要它而不是TCP客户端?为什么botUDP客户端和服务器需要它?我也在UDPClient中不使用bind()编写了正确工作的代码。我不明白为什么bind()没有被普遍使用,即在上述所有情况下。 最佳答案 绑定(bind)只是必需的,如果没有其他方法让计算机知道将数据包发送到哪个程序。对于无连接程序,这只是接收端。请看socketconnect()vsbind()这个帖子。解释工作比我能做的要好得多。如果你有任何问题之后。欢迎提问:)

c - 哪种是实现 TCP/UDP 服务器的最佳方式?在线程或进程中处理每个传入请求

您好,我正在实现TCP服务器。请求是函数的名称。我需要执行运行服务器的某个库中存在的函数。库函数可能会导致段错误或浮点异常。我打算在一个单独的进程中实现函数调用操作。所以任何崩溃都会导致子进程死亡。我的问题是在进程中执行这样的操作还是使用线程更好?还有人请告诉我如何在崩溃时重新启动我的服务器应用程序。我写了restart.conf并保存在/etc/init/下,但它仅在系统重新启动时才重新启动,而不是在应用程序崩溃时重新启动。我不想在do-while中做这件事 最佳答案 大约25年前,当决定如何在Web服务器中实现CGI脚本时,提出

C#实现TCP和UDP通信

文章目录UDP发送UDP接收TCP发送TCP接收C#在命名空间System.Net.Sockets中对伯克利套接字提供了良好的封装,提供了完善的TCP和UDP通信功能。从编程的角度出发,TCP和UDP最大的区别是,TCP存在TcpClient和TcpLinster两个对象用于信息的传递,二者一发一收,十分完备。而UDP则只有一个类UdpClient,换言之,UDP通信是不分服务端和客户端,通信双方对等。UDP发送至少在形式上,UDP比TCP更简单,所以先从UDP讲起。考虑到通信那肯定是有发有收才行,如果只用C#自己,那么肯定得上个多线程什么的才能跑通。为了避免问题复杂化,故推荐使用这款NetA

java - 确保收到 `response.getOutputStream().write()`

我按以下方式编写对HTTP请求的响应:response.getOutputStream().write()我想确保客户收到它。这一定是可能的,因为TCP会发送确认。此要求还暗示写入必须是阻塞操作(我没问题!)。那么我怎么知道是不是按照上面的方式完成的(我怀疑不是)?有什么规范可以保证吗?有什么方法可以实现吗?我使用的是Tomcat6。...PS,我的意思是除了让客户端在另一个HTTP请求中发送此确认之外的任何方式:) 最佳答案 首先,您可以确保刷新输出流缓冲区:response.getOutputStream().flush();保

networking - 在 UDP 的情况下,MTU 重传如何工作

众所周知,UDP不支持重传和其他一些东西。我们也知道像MTU这样的东西基本上以下列方式工作——当源点和目标点之间的路径上的网络设备之一不支持某种大小的数据包时,它就会丢弃它。对于TCP,这不是问题——它已经知道握手后的MSS总是小于MTU(我说的对吗?),因此不可能发送大小大于MTU的数据包。但是,我想知道在UDP情况下它是如何工作的?正如我已经说过的,此协议(protocol)中没有重传,也没有MSS这样的东西。那么当数据包因超过MTU而被丢弃时会发生什么?或者它只是因为MTU性质才起作用(它实际上属于IP层,而不是像UDP或TCP这样的传输层协议(protocol))?所以IP层以

tcp - 如何通过 tcpip/udp 发送/接收 nmea 字符串

我有一个gps接收器,它可以将数据(使用gprs连接)发送到服务器www.example.com。现在我需要一些东西来从www.example.com接收这些数据(gpsnmea字符串)(可能是为了监听某个端口......),解析这些信息并将其存储到我的数据库中。我对php和mysql有一定的了解。所以,问题是——是否可以用php和mysql来完成?如果是的话,你能指出我应该从哪里开始吗?如果没有,你能给我一些其他的建议吗?非常感谢! 最佳答案 前面的www表示http。这意味着您必须运行自己的网络服务器。但是您可能需要调查一下您的

c - getsockopt 类似 TCP_INFO 的 UDP 统计信息

我使用的是Linux内核2.6.32(x86_64),可以通过将TCP_INFO传递给getsockopt并接收tcp_info来获取TCP统计信息struct,在/usr/include/netinet/tcp.h中定义。我可以获得类似的UDP统计信息吗?(可能更少,因为没有内置的拥塞控制和重传等。但我对我能得到的任何统计数据都很满意) 最佳答案 TCP_INFO的字面意思是TCP的信息。UDP没有信息的原因是它是无状态的。没有保证传输,不是rtf,没有窗口大小,没有太多信息可提供。如果你真的想获取一些额外的信息,请查看man2r

c++ - 设备未打开错误 + QIODevice::write

我得到错误:QIODevice::write(QTcpSocket):devicenotopen.Aftertrying,Ithinkproblemispassingparameterserver->nextPendingConnection()intoobject.Cansomeonehasideahowtodoitcorrectly?我的理解是socketClient的对象未正确初始化。我正在使用带有Qt的Ubuntu。我正在使用Qt实现服务器。服务器部分有两个基于QTcpServer和QTcpSocket的类。说Server和SocketClient。我正在服务器中创建Socke