草庐IT

TCP-Sockets

全部标签

tcp - 一个 TCP 连接上可以发送的最大字节数

我最初假设,由于tcp有一个32位的序列号字段,并且在tcp连接上发送的每个字节都标有唯一的数字,因此在tcp连接上可以发送的最大字节数约为2^32-1或2^32-2(哪个?)。但现在我觉得,由于TCP是一个滑动窗口协议(protocol),只要whenwraparound发生,连接期间序列号的回绕不应该影响通过tcp连接可以发送的最大字节数旧数据包不再在网络中(它在2*MSL后发送)。正确答案是什么? 最佳答案 您可以在TCP连接上传输的数据量确实没有限制。 关于tcp-一个TCP连接

python - TCP 服务器 : how to avoid message overlapping

我打算写一个TCP服务器,客户端向我发送XML消息,我想知道是否会发生以下情况以及如何避免这种情况:1)客户端发送2)服务器正忙着做某事3)客户端发送4)服务器执行recv()并将字符串放入缓冲区缓冲区会不会被填满?甚至更糟如果我的缓冲区不够大?我想要的是TCP堆栈将消息划分为与客户端发送它们的方式相同的部分。可行吗? 最佳答案 这在TCP级别是不可能保证的,因为它只知道流。根据您使用的XML解析器,您应该能够将流提供给它并让它告诉您它何时有一个完整的对象,留下第二个在它的缓冲区中,直到它也被关闭。

c - 使用 select() 监听多个客户端(TCP)

我开发了(TCP)服务器来监听客户端并与之交互。现在我正在尝试调整该服务器代码以收听多个客户端。我想使用select,但我对找到的一些示例和解释感到困惑。我一直在阅读:http://support.sas.com/documentation/onlinedoc/sasc/doc750/html/lr2/select.htm和http://support.sas.com/documentation/onlinedoc/sasc/doc750/html/lr2/select.htm两者都被推荐给我..:S第一个站点的示例似乎不那么复杂..(尽管仍然不知道如何使其适应我的代码,因为我对网络等

sockets - 如何在尾递归中关闭套接字?

我创建了一个udp客户端,需要每5s发送一次消息,所以我写start()->{ok,Sock}=gen_udp:open(0,[]),send(Sock).send(Sock)->gen_udp:send(Sock,"127.0.0.1",3211,"helloworld"),timer:sleep(5000),send(Sock).我想知道关闭socket的好地方 最佳答案 如果您的目标是每5秒发送一条消息,那么为什么要关闭套接字?如果您有一些逻辑来确定何时发送了足够多的消息(例如,您计算它们),那么这就是关闭套接字的地方。这是一

c++ - 如何通过 TCP 发送 10,000 ~ 20,000 字节的数据?

我可以通过TCP发送大约10,000~20,000字节的数据吗?我正在将图像(60x60)从Android客户端传输到linux服务器。在安卓上似乎没问题。在服务器端,如果我尝试将图片数据发送回客户端,则它不起作用。在客户端,如果我解析然后我得到一些我不应该得到的奇怪数字。通过TCP传输大数据有什么技术问题吗?我该如何解决?提前致谢..char*PictureResponsePacket::toByte(){/**HEADER**Magicnumber(4)*Datalength(4)*PacketId(2)*Packettype(2)*DeviceId(48)**//**BODY**

objective-c - 使用 Objective-c 打开 TCP 套接字

如何使用Objective-C创建TCP套接字,检查服务器上是否打开了某些TCP端口?我尝试使用一些教程,但都没有用,因为我需要使用IP(198.168.0.000)创建服务器,而不是一些博客文章使用的站点,例如paypal.com。我对使用哪个类以及如何使用有点困惑。我知道那不是最好的询问地点,但不知道去哪里搜索。感谢您的帮助! 最佳答案 我推荐CocoaAsyncSocket对于这种工作。您可以手动完成,但如果您在ObjC中工作,那么CocoaAsyncSocket是一个更好的接口(interface)。

C# TCP 聊天应用线程

我非常需要帮助。我实际上已经创建了一个程序(将使用)加密来回发送消息。加密部分工作正常,但是我对Threads还很陌生,而且我一辈子都无法让应用程序的客户端/服务器部分对齐。聊天程序是使用TCP的直接IP连接,因此每个主机都是一个客户端和一个服务器。当我调试时,我似乎遇到的问题是,当客户端尝试连接到服务器线程时,服务器线程未准备好,或者如果准备好,它不会放弃线程,以便客户端可以连接!我已经为此工作了几个小时,这非常令人沮丧。我希望有人能提供帮助!我在下面包含了我的代码。这是我的MainForm的代码片段,它构建了客户端和服务器方面:privatevoidInitializeCompon

c - C 中的 TCP/IP 编程

我明天要参加TCP/IP编程考试。以下是本文的前一个问题。Writeandrunaclientandaserverprogram.UsingClanguageinUNIX,withthefollowingspecifications:•ATCPclientprogramwillsendarangeofnumber(e.g.1to10)totheserver.•TCPserveracceptthenumberrangefromclientandsendbackthesumofthenumberrange.Clientwillprinttheresult.我不知道如何设置编译器和其他设置来

java - TCP 服务器不关闭电脑

我写了一个JavaTCP服务器程序来从客户端关闭我的PC。它成功地从客户端接收消息,但它没有关闭PC有人请帮我解决这个问题这是我的代码importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStreamReader;importjava.net.ServerSocket;importjava.net.Socket;publicclassServerSideSocket{privatestaticServerSocketserverSocket;privatestaticSocketclientS

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

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