草庐IT

websocket-client

全部标签

delphi - Indy 10 TCP Client Server - 测试开放通信 channel

我正在修改一个Indy10TCP/IP应用程序,我希望得到您关于实现执行以下操作的客户端功能的建议/意见/示例代码a)在应用程序启动时显示初始屏幕时,它会验证客户端计算机是否可以访问互联网并且TCP服务器已启动并正在运行并等待通信。如果不是这种情况,应用程序应该终止。b)在客户端和服务器之间进行任何数据交换之前执行上述(a)此外,服务器是否需要重复广播某种消息以通知潜在客户它已启动并正在运行?感谢您的协助。 最佳答案 如何验证是否可以连接到TCP服务器?第一个问题;肯定会将连接尝试包装到一个单独的线程中,您将在启动画面显示时运行该线

networking - 在底层,Websocket 协议(protocol)如何检测连接的状态?

我正在与一位工程师同事讨论Websocket开销,我们都不确定Websocket实际上是如何检测客户端连接状态的。是否定期向客户端/服务器发送“状态”数据包?与ping有关系吗?或pong在低级API中?那frames呢??Websocket如何检测到客户端已断开连接?服务器?我很惊讶我在SO上找不到这个答案,但这可能是我的错误。我找到了thisanswer解决可扩展性问题,但这不是我在这里要问的。Thisanswer涉及实现,但不是我在这里追求的深度。 最佳答案 webSocket连接是使用webSocket协议(protocol

node.js - 为什么 nodejs WebSocket 实现不使用 net.Server?

我目前正在体验Websockets。通过查看一些活跃的项目/实现,如einaros/ws(以及其他项目),我发现他们自己实现了服务器。而不是使用提供tcp服务器的Node网络模块。这种方法有什么理由吗?https://github.com/einaros/ws/blob/master/lib/WebSocketServer.js问候更新:varserver=net.createServer(function(c){c.on('data',function(data){//dataisawebsocketfragmentwhichhastogetparsed});//transformT

javascript - 与标准 HTTP 相比,WebSockets 如何扩展?

与仅通过AJAX提供信息相比,使用TCP编程的网站(即网站上的某个人连接到服务器并通过TCP交换信息)如何扩展?假设交换的信息是相同的。试图澄清:我特别询问有关规模的问题:我读到与仅静态提供信息相比,保持数千个TCP连接需要大量资源(哪些?)。我想知道这是否正确。 最佳答案 WebSockets是一种允许服务器向客户端推送通知的技术。另一方面,AJAX是一种拉式技术,这意味着客户端正在向服务器发送请求。因此,例如,如果您有一个应用程序需要定期从服务器接收通知并更新其UI,WebSocket会更适合并且更好。使用AJAX,您将不得不定

javascript - 可以在 Android 和 iOS 设备上通过 Javascript 进行 TCP 或 WebSockets 调用吗?

我想做的是创建一个嵌入式wifi设备(很像arduino板)并与之通信,它根本没有任何多余的装饰。它基本上接受一个套接字并监听信息并做出响应。完整的程度是我正在使用PhoneGap以使应用程序跨设备兼容。我曾计划尝试使用某种javascript插件制作TCP套接字,但是我遇到的所有插件都需要服务器端脚本(在这种情况下不可能)。我总是可以在android和iOS设备之间放置一个网关计算机,但如果我只能创建一个浏览器套接字,那似乎效率不高。所以我的问题是有没有人知道可以在没有服务器端脚本的情况下创建TCP套接字的javascript插件?如果没有,您认为我可以为PhoneGap创建一个调用

java - websocket 消息会不会丢失?

我目前正在开发一个JavaWebSocket客户端应用程序,我必须确保客户端收到来自服务器的每条消息。是否有可能由于连接中断而丢失一些消息(一旦它们从服务器发送)?WebSocket基于TCP,所以这不应该发生,对吧? 最佳答案 这是可能发生的。TCP保证数据包的顺序,但并不意味着即使底层网络发生不可恢复的故障,从服务器发送的所有数据包都到达客户端。想象一下,当您的应用程序正在与您的服务器通信时,有人在最糟糕的时机拔掉您的LAN电缆或关闭您的WiFi接入点。TCP没有克服这样的麻烦。为确保从您的服务器发送的每条WebSocket消息

.net - 编码*不是* 'thread per client' 的服务器

使用.NET时,不基于“每个客户端线程”的服务器的基本算法是什么?编辑我正在寻找一个基本的3、4或5行算法/伪代码/模式来描述服务器正在使用的一般过程。与此相反的东西:openaserversocket//thisusestheporttheclientsknowaboutwhile(running)client_socket=server_socket.listenfork(newhandler_object(client_socket)) 最佳答案 事件循环。等待套接字变得可写,写入它们,等待连接,接受它们,等等。在大多数情况下

java.net.SocketException : socket closed TCP Client Server Communication 异常

这个问题在这里已经有了答案:Officialreasonsfor"Softwarecausedconnectionabort:socketwriteerror"(14个答案)关闭3年前。我正在通过TCP创建一个java客户端/服务器应用程序,我们有两个套接字:一个用于交换消息。两个用于文件传输。我在服务器中创建了两个ServerSockets以创建套接字一和二通过接受ServerSockets。首先客户端通过第一个Socket发送一些字节这样它就可以告诉服务器它需要哪个文件。然后Server通过第二个socket将文件发送给client。客户端收到文件后,尝试向服务器发送回传输完成消息

javascript - 使用 webSockets 避免 Nagle 算法影响的最佳方法?

我正在使用webSockets将javascriptwebSocket客户端连接到javawebSocketServer(来自Android应用程序),使用Java-WebSocket图书馆。Android应用每隔几毫秒向javascript客户端发送一条小消息。针对这种情况使用基本(和直观)方法,在javascript客户端内部测量的接收消息之间的延迟显示(近似)以下模式:200毫秒、0.1毫秒、0.1毫秒、0.1毫秒、0.1毫秒、0.1毫秒、0.1毫秒、200毫秒、0.1毫秒、0.1毫秒、0.1毫秒、0.1毫秒、0.1毫秒、0.1毫秒、200毫秒、0.1毫秒、0.1毫秒,0.1毫秒

c++ - 提升 ASIO : How can a server know if a client is still connected?

我正在为服务器/客户端应用程序使用boost::asio。服务器一次只接受一个连接。我想知道服务器验证客户端是否仍处于连接状态的最佳方法是什么。这样做的目的是我想知道客户端是否崩溃了,这样我就可以重新开始监听新的连接尝试。 最佳答案 在我的应用程序中,我使用了以下标志,当客户端断开连接时,我的读取就出来了。如果在您的应用程序中,请尝试一下。连接后立即应用此标志。在我的例子中skt_TCP是类型boost::asio::ip::tcp::socketint32_taccept_server_socket=skt_TCP.native_