草庐IT

m_socket

全部标签

c# - System.Net.Sockets.Tcpclient.Connect 错误 <String hostname, Int32 port>

我正在尝试在我的控制台应用程序和PIC微Controller之间建立TCP连接。这里的行为很奇怪。有时我能够建立联系,有时却不能。行为是完全随机的。下面给出了代码以及我收到的错误的快照。usingSystem;usingSystem.IO;usingSystem.Net;usingSystem.Text;usingSystem.Net.Sockets;namespaceConsoleApplication1{classProgram{staticvoidMain(string[]args){while(true){try{TcpClienttcpclnt1=newTcpClient()

sockets - 当套接字连接中的一个端点断开连接时会发生什么

当两个端点(A&B)通过socket连接,并且端点A断开连接时,端点B是否需要收到有关断开连接的通知?端点B知道连接丢失的触发器是什么?当他向端点A发送数据时,他会收到断开连接的通知吗?请重点回答TCP协议(protocol)的属性,忽略具体的语言实现。 最佳答案 这取决于您所说的“断开连接”是什么意思。如果你的意思是A正确关闭套接字,B在读取时得到一个流结束(recv()返回零。)如果你的意思是它中止,根据平台有关,但很可能B会在几次send()调用后获得ECONNRESET。 关于s

sockets - 使用 curllib 向服务器发送数据

我对所有这些http事物都很陌生,我正在尝试与服务器进行通信。我需要编写发送到服务器的客户端-我知道服务器返回什么但我不确定如何向它发送数据:我(客户端)使用HTTP将XML(二进制格式)发布到url处的服务器:192.168.2.111/senddata(即发布/senddata)。服务器响应是:TCP:[ACK]Seq=1274Ack=504Win=525088Len=0I.E是问题所在-服务器不使用HTTP回复进行回复。协议(protocol)服务器在我发送XML后使用TCP,这使得curl_easy_perform不返回。在步骤2中服务器TCP回复后,I-客户端应使用HTTPC

java - 骡子 ESB 3.4.0 CE : Redeliver message through TCP Endpoint upon Socket Exception

我有一个需要持久TCP连接的应用程序。所以我在Tcp连接器上设置了一些适当的属性来支持它。我遇到的问题是,如果外部应用程序关闭并重新启动,Mule将继续尝试将消息发送到套接字,而不是尝试重新建立连接。这是我的错误日志:ERROR2014-04-3017:11:35,436[[chatroomexample].connector.VM.mule.default.receiver.04]org.mule.exception.DefaultMessagingExceptionStrategy:**************************************************

sockets - TCP:两个不同的套接字可以共享一个端口吗?

这可能是一个非常基本的问题,但它让我感到困惑。两个不同连接的套接字可以共享一个端口吗?我正在编写一个应用程序服务器,它应该能够处理超过100k的并发连接,并且我们知道系统上可用的端口数约为60k(16位)。连接的套接字被分配给一个新的(专用)端口,因此这意味着并发连接数受端口数的限制,除非多个套接字可以共享同一个端口。所以问题。 最佳答案 TCP/HTTP监听端口:多个用户如何共享同一个端口那么,当服务器监听TCP端口上的传入连接时会发生什么?例如,假设您在端口80上有一个Web服务器。假设您的计算机的公共(public)IP地址为

sockets - 套接字的替代品

这个问题在这里已经有了答案:WhatarethealternativestoSocketProgramming?(3个答案)关闭2年前。我读到了套接字的定义,“UDP/TCP连接最常用的API”(学校资料)。这让我很想知道是否有其他选择,但一直找不到。我不是说添加抽象层(例如RPC或RMI),或使用不同网络堆栈的东西,而是使用其他东西来完成相同的角色一种不同的方式。我可能也误解了套接字的作用,我认为它适合sessionOSI层,或者可能是传输层?我不太确定。我不打算使用这些替代方案,我知道套接字有多方便,我只是想知道。感谢您的关注

sockets - 通讯协议(protocol)

我正在开发由主服务器和工作服务器组成的分布式系统。应该有两种消息:心跳Master获取worker的状态并立即响应适当的命令。例如:从Worker到Master的消息:“嘿,我有数据a、b、c”Master对Worker的响应:“没问题,但是扔掉c-我们不再需要它了”参与者以间隔T交换此消息。直接master命令假设客户要求master终止作业#123。这是对话:Master给Worker的消息:“警报!我们需要终止作业#123”从Worker到Master的消息:“没问题!完成。”很明显,我们无法预测此消息何时出现。最简单的解决方案是master是这两个消息的所有通信的发起者(在心跳

sockets - Modbus TCP :Is there any better way for reading registers randomly one or more?

我们正在编写一个Windows服务,通过C#中的Socket编程,使用ModbusTCP协议(protocol)以1秒的轮询间隔从PLC读取数据。WindowsService会接收PLC的随机寄存器来读取寄存器值。预期随机注册,如40150、40250、40270、40320。从上面的案例如何创建ModbusTCP请求头?我们可以找到两种可能的方法:使用功能代码3,我们可以读取特定范围内的寄存器的值,例如从40150到40320,这样我们就可以读取这40150,40250,40270,40320寄存器值。另一种方式是逐个请求40150、40250、40270、40320这几个寄存器(这

node.js - 如何在 Node.js 中结合使用 express 和 tcp-socket

我用node.js和express实现了我的第一个网络应用程序。它工作正常。结构如下。app.get('/',(request,response)=>{response.render('home',{orders,actualPosition,path});});app.post('/',function(req,res){//dosomethingres.redirect('/')})app.listen(8080,()=>{console.log(`Listeningonhttp://127.0.0.1:${port}/!`);})现在我想与matlab程序通信,最好通过tcp/i

PHP socket_write 在非阻塞套接字循环中只有最后一次写入成功

我希望通过套接字将数据发送到2个不同的端点。这是为了通过WebSockets和Push-Services发送消息(一个单独的工作实例)。由于我的应用程序不需要端点的响应,我将套接字设置为非阻塞,以便我的应用程序快速完成请求。问题是,只有最后一个socket_write完成了。第一个端点不接收数据。代码如下:foreach($workerInstancesas$workerInstance){//$workerInstancecontainsahostname$sock=socket_create(AF_INET,SOCK_STREAM,SOL_TCP);socket_set_nonbl