草庐IT

tcp - RTOS 通过 TCP 连接到本地服务器,但不连接到远程服务器

我正在使用RTOS设备,当尝试通过TCP连接到服务器时,我遇到了一些异常结果。当连接到本地网络上的服务器时,连接正常,我可以看到数据包在Wireshark上流动。但是,当尝试连接到远程服务器时,一个在我的域之外的服务器,连接失败,错误代码为:TCP_ERR_NOSUCH_SOCKET(-4)---表明你试图分配一个套接字不存在。这发生在connect()函数期间:boolCTCP::Connect(constchar*ipaddr,unsignedshortport){IPADDRip=AsciiToIp(ipaddr);this->m_fdnet=connect(ip,INADDR_

Java - 需要两个线程来共享同一个类的简单聊天服务器

我正在尝试用Java制作一个简单的聊天服务器。现在我有一个线程接受tcp-ip连接、广告用户、删除用户和添加评论。我想删除所有在线时间为x且未与聊天服务器联系的用户。我打算有一个单独的线程,在不同的类中执行此操作。问题是接受连接的线程包含一个叫cUser的类来处理用户,而做超时的类是看不到这个类的。在c中我可以有一个全局的。我正在考虑让cUser类成员全部静态化,看起来有点乱。有没有一种干净的方法来做到这一点?泰德 最佳答案 如果访问该类是您的主要关注点,那么将它移到一个单独的文件中并将该类声明为public是一种选择。或者你可以在

PHP - 非阻塞,传出 TCP 连接 - 如何?

我对在PHP中执行非阻塞IO的各种方法有些熟悉,但我似乎无法回答这个问题。让我描述一下我正在尝试做的事情:我想要一个名为“Monitor”的静态类,我可以向它抛出各种消息。然后该类应该连接到外部TCP服务器并发送这些消息-但我不想等待它发生。从初始连接到外部服务器到发送消息的一切都应该异步发生,而我的脚本已经转移到其他事情上。这可能吗?我目前正在尝试使用fsockopen()、stream_set_blocking()等... 最佳答案 你说的基本上是多线程(这不是通常使用php的方式)。你可以查看thisarticle看看怎么做。

multithreading - 如何编写多线程 TCP/IP 发送方代码

我需要一个TCP/IP发送器,它将文本文件的内容作为字节流发送到一组可配置的IP和端口。最好是可以包含在一个线程中并且可以为多个目的地配置的东西。我应该怎么做? 最佳答案 与其想出自己的发送机制,不如考虑使用消息队列。它们非常易于使用并且大多数具有出色的性能(例如zeroMQ对于64字节的消息每秒可以发送470万条消息) 关于multithreading-如何编写多线程TCP/IP发送方代码,我们在StackOverflow上找到一个类似的问题: https:

c# - 获取客户端-服务器聊天以流式传输 C# 中的在线用户列表

对于一项学校作业,我们必须用C#编写一个客户端服务器聊天程序。我以前从未做过任何网络,所以这让我很困惑。我读了一本关于C#网络的书,我能够使用二进制读写器和TCP套接字进行非常基本的聊天。但是对于分配,我必须让客户端列出所有连接的用户。现在,我将如何做到这一点,以便当有人在服务器上断开连接或连接时,客户端只读取列表流。我可以做到让客户端始终下载新列表,但我觉得发送了很多冗余数据。附带说明一下,我对客户端/服务器如何知道流中的数据是什么感到困惑。到目前为止,我只有一个字符串通过表示消息的流发送。有没有办法在发送的数据上附加某种签名或其他东西,以便服务器或客户端知道该特定数据是用户名或可能

Android TCP 紧急消息实现

有一个TCPURG标志,表示TCP消息的一部分是紧急的。在这种情况下,紧急部分应该更快地进行并更早到达应用程序。它是否也与接收应用程序的优先级有关?它的优先级会因此改变吗? 最佳答案 不能保证带有URG标志的TCP数据包会更快到达。这是因为URG标志只影响接收主机对TCP数据包的处理,不影响实际的媒体传输。URG标志用于带外(OOB)消息处理。例如,如果您正在发送大量媒体数据流,然后想取消在远程主机上的接收。在这种情况下,您将发送标记为OOB。接收方的OOB数据包将优先处理普通数据包。您能否更具体地说明应用程序的优先级?如果您指的是

c++ - 套接字配置中的 TCP 重传

我在C++中用作套接字(Windows为Winsock2,Linux为socket.h)有没有办法将TCP重传配置为小于或大于默认值?我的意思是:我知道有注册表项:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\ParametersTCPMaxDataRetransmissions在那里我可以为所有应用程序配置它,但我只想将我的应用程序中的套接字配置为非默认套接字。 最佳答案 我还没有试过这个,但我知道有一个TCP_MAXRT选项可以设置。只是在include目录

c# - TCPListener 不接受连接

我在使用TCPListener时遇到问题。我在下面创建了这段代码,它可以与测试应用程序一起使用,但我无法让它接收来自生产环境的连接。在下图中,您可以看到.44不断尝试连接,但如控制台窗口输出所示,除了开始监听之外,没有收到任何连接。我忽略了什么?publicclassTCPServer{#regionPrivatesprivateILoglog;privatereadonlystring_connectionString="";privatereadonlyList_lAgentState;privatereadonlyDateTime_lastUpdatedRecord=newDat

c# - Windows 服务中托管的 WCF 服务无法正常运行

实际上我有两个不同的问题,具体取决于我尝试运行看起来相关但以不同方式显示的服务的方式。请注意,我正在运行的代码与Microsoftsguide中使用的代码完全相同。除了不同的命名空间和略有不同的类名。当我尝试使用此方法运行该服务时,Windows服务已成功启动,但当它启动时,会弹出WCF服务主机框,并给出一条错误消息,指出IP端点localhost:上已经有一个监听器。这是我以这种方式运行时的配置文件:经过一段时间的斗争,我发现了一个建议,说在tcp连接上启用端口共享可能会有所帮助。我试过了,但是当我尝试启动该服务时它失败了,并且在“应用程序”下的Windows事件日志中我收到一条错误

java - "delay"在使用 sun HttpServer 时传递 WebService 回复

我正在编写一个实现Web服务的独立应用程序,使用嵌入式SunHttpServer为其发布端点。我对此有一个奇怪的问题,在特定的部署情况下,服务器处理/发送回复和客户端接收回复之间存在明显的延迟。让我举几个场景:案例1)工作:服务器在Eclipse中运行,它使用OpenJDK1.6.0_23作为运行时。客户端使用axis(不是axis2!)实现,并在JBoss内的Solarisx86上运行(必须承认我不知道使用的确切Java版本,但我怀疑是Java5版本)。案例2)工作:服务器在带有java1.6.0_26的Solarisx86上运行,客户端在带有OpenJDK1.6.0_23的Ecli