草庐IT

ws-client

全部标签

java - Spring 集成 : TCP Client/Server opening one client connection per server connection

我正在尝试使用SpringIntegration实现一个TCP客户端/服务器应用程序,我需要为每个传入的TCP服务器连接打开一个TCP客户端套接字。基本上,我有一堆物联网设备通过原始TCP套接字与后端服务器通信。我需要在系统中实现额外的功能。但是设备和服务器上的软件都是封闭源代码,所以我对此无能为力。所以我的想法是在设备和服务器之间放置中间件,以拦截此客户端/服务器通信并提供附加功能。我正在使用带有入站/出站channel适配器的TcpNioServerConnectionFactory和TcpNioClientConnectionFactory向各方发送消息/从各方接收消息。但是消息

Erlang:Client ip-address, 向特定客户端发送数据包?

有没有办法在Erlang中为tcp连接获取客户端的ip地址?基于客户端连接到服务器的假设?我还想知道是否有必要向特定客户端发送特定数据包;就像服务器没有广播的情况一样,但是我需要ip地址来将数据包发送到特定的客户端,还是服务器只是为每个客户端使用一个引用(erlang:monitor)? 最佳答案 对于另一端的地址,inet:peername(Socket).然而,如果你想处理TCP对话中的每个客户端,一旦每个客户端连接,通常,你会产生单独的erlang进程来处理它,然后TransfertheSocketOwnership到产生的过

node.js - NodeJS 将 ws 对象传递给子进程

我正在尝试将ws对象传递给子进程。在“发送”函数下子进程(https://nodejs.org/api/child_process.html)下的Node文档中,它说第二个参数可以是子进程和父进程可以共享的TCP对象。当我尝试传递一个ws对象时,它说“抛出新的TypeError('Thishandletypecan\'tbesent');”。我想这是因为它是一个ws对象而不是一个tcp对象,但我想知道是否有办法用ws对象而不是tcp对象达到同样的效果......?因为ws只是一个符合websocket标准的tcp对象的包装器。 最佳答案

C# 套接字 : Client Mishandle 'a' as the Client's id

有两个我制作的程序无法运行。有服务器和客户端。服务器通过给用户一个ID(从0开始)来接受许多客户端。服务器根据服务器的ID将命令发送到特定的客户端。(示例:200个客户端连接到1个服务器。服务器选择的ID为“5”,因此服务器将向所有客户端发送命令,客户端将询问服务器他想在哪个ID上执行命令,如果它是“5”,则该客户端将执行并将数据发送到服务器)。客户端有很多命令,但为了创建具有相同错误的最小代码,我只使用了1个命令(dir)。基本上,服务器将命令发送给客户端,如果它与客户端当前ID和服务器当前ID匹配,它将处理该命令。默认情况下,服务器的当前ID是10。以下是帮助想要回答的人的命令列表

java - JAX-WS 客户端关闭与 FIN、ACK 的 tcp 连接

我们已经实现了JAX-WS客户端并面临以下问题。它是一个有状态的session同步流。客户端最初成功地发出了两个请求/响应问题的3个不同案例1)在前两个请求/响应之后,我在收到第二个请求的响应后的第6秒和第9秒(两个不同的测试用例)之后发出第三个请求。在这两种情况下,从tcpdump我可以看到我们的客户端正在通过[FIN,ACK]关闭现有的tcp连接并为第三个请求打开一个新连接。但由于这是有状态session,服务器预计连接不应关闭,因此我们收到错误响应。2)如果我在第二次请求后的5秒内发出第三次请求,则会重新使用相同的tcp连接。3)如果我根本不发出第三个请求,则在10秒后自动(通过

php - 如何为 set socks 5 或 php stream_socket_client 的 http 代理制作上下文数组

我不确定如何在php中为流套接字的tcp代理配置流上下文参数。我发现并测试了以下代码,但它不适用于流套接字。$context=stream_context_create(array('http'=>array('proxy'=>'tcp://'.$proxy,)));$srvHandle=stream_socket_client("tcp://{$this->server}",$errno,$errstr,30,STREAM_CLIENT_CONNECT,$context);if($srvHandle===false)$this->LogError("failedtoconnectwi

c - 错误 : Invalid argument while trying to accept a connection from a client

我正在尝试使用TCP将客户端连接到服务器。我想我的客户正确地完成了他的工作,但服务器无法接受连接。这是我的代码:服务器:intmain(intargc,char*argv[]){intport,sock,newsock,thread_pool_size,queue_size;structsockaddr_inserver,client;structsockaddr*serverptr=(structsockaddr*)&server;structsockaddr*clientptr=(structsockaddr*)&client;structhostent*rem;socklen_t

c# - WCF net.tcp SSL : none of the cipher suites supported by the client application are supported by the server

我有两台PC,我们称它们为PC1和PC2。我编写了一个服务端应用程序,它打开一个自托管的WCFnet.tcp端点,使用X509证书进行保护。我用于传输安全的证书是“颁发给”一个任意名称,例如:MY-TEST-SERVICE。我还编写了一个客户端应用程序来与服务对话。它知道并指定服务将提供的DnsIdentity(MY-TEST-SERVICE),它使用服务用于传输安全的相同X509证书。当我在PC1上运行客户端时,它与PC1和PC2上的服务一起工作。当我在PC2上运行客户端时,它与PC1上的服务一起工作,但与PC2上的服务的SSL握手失败。在PC2上打开WCF客户端跟踪,然后成功连接到

tcp - 大容量TCP Client的设计

我有一个.NETTCP客户端,它向(.NET异步)TCP服务器发送大量消息。我需要继续向服务器发送消息,但由于TIME_WAIT,我用完了客户端上的端口。程序如何在不使用所有可用端口的情况下持续可靠地发送消息?有没有一种方法可以继续重复使用同一个套接字。我查看了Disconnect()和REUSEADDRESS套接字标志,但找不到任何好的使用示例。事实上,大多数消息来源都说不要使用Disconnect,因为它用于较低级别的使用(即它只回收套接字句柄)。我在想我需要切换到UDP还是有一种使用C++和IOCP的方法? 最佳答案 如果您的

java - Java ServerSocket accept client后如何获取绑定(bind)到同一本地端口的新套接字?

我对Socket和ServerSocket端口的用法感到困惑。Oracle'sjavatutorialaboutsockets说以下内容:WhatIsaSocket?Normally,aserverrunsonaspecificcomputerandhasasocketthatisboundtoaspecificportnumber.Theserverjustwaits,listeningtothesocketforaclienttomakeaconnectionrequest.Ontheclient-side:Theclientknowsthehostnameofthemachine