Tag: 套接字

如何使用WCF(net.tcp)服务使用基于套接字的客户端?

我开发了一个使用net.tcp适配器并监听特定端口的WCF服务。 我想使用普通的.net客户端连接到该服务,该客户端使用套接字将数据发送到端口并侦听响应。 当我尝试将数据发送到此服务时,出现错误:“现有连接被远程主机强行closures”。 但是,我能够通过使用WCF服务的地址/绑定/合同的另一个客户端连接服务。 有没有一种方法可以使我通过一个普通的基于套接字的客户端与WCF服务进行通信?

是否可以在AWS Lambda中使用Socket.io?

是否可以在AWS Lambda中构build一个创buildWebSocket并将数据发送到订阅应用程序的函数? 像这样的东西: John在手机中打开了应用程序SuperPhotoApp,但决定使用桌面浏览器将照片上传到SuperPhotoApp服务(S3 Bucket),此事件执行一个Lambda函数,创build一个socket.io服务器并将更新推送给所有订户,他的手机已经打开了应用程序,所以应用程序自动更新与新的照片。 这可以通过推送通知或Amazon SNS来完成,但是如果我需要实时行为,例如需要更新angular色位置的在线游戏,该怎么办? 如果Lambda无法实现这一点,有没有解决scheme可以使用桌面浏览器更新我打开的应用程序? 亚马逊EC2是唯一的select? 我读过它有缩放问题,这就是为什么我在评论Lambda。

如何判断连接是否在Python中死亡

我希望我的python应用程序能够分辨出另一端的套接字何时被丢弃。 有没有这样的方法?

SocketException:地址与请求的协议不兼容

我试图在Win7-64bit机器上运行.Net套接字服务器代码。 我不断收到以下错误: System.Net.Sockets.SocketException:使用与请求的协议不兼容的地址。 错误代码:10047 代码片段是: IPAddress ipAddress = Dns.GetHostEntry("localhost").AddressList[0]; IPEndPoint ip = new IPEndPoint(ipAddress, 9989); Socket serverSocket = new Socket(AddressFamily.InterNetwork,SocketType.Stream, ProtocolType.Tcp); try { serverSocket.Bind(ip); serverSocket.Listen(10); serverSocket.BeginAccept(new AsyncCallback(AcceptConn), serverSocket); } catch (SocketException excep) { Log("Native code:"+excep.NativeErrorCode); // throw; } 上面的代码在Win-XP sp3中工作正常。 我已经检查了MSDN上的错误代码详细信息,但对我来说没有多大意义。 任何人都遇到类似的问题? 任何帮助?

mysqld_safe UNIX套接字文件的目录'/ var / run / mysqld'不存在

在使用mysqld_safe启动mysql服务器5.7.17时,出现以下错误消息。 2017-02-10T17:05:44.870970Z mysqld_safe Logging to '/var/log/mysql/error.log'. 2017-02-10T17:05:44.872874Z mysqld_safe Logging to '/var/log/mysql/error.log'. 2017-02-10T17:05:44.874547Z mysqld_safe Directory '/var/run/mysqld' for UNIX socket file don't exists. 如何解决它?

哪里可以findoff_ttypes的完整定义?

我使用TCP将文件从客户端发送到服务器。 要标记文件的结尾,我希望在实际数据之前发送文件大小。 所以我使用stat系统调用来查找文件的大小。 这是typesoff_t 。 我想知道它占用了多less字节,以便我可以在服务器端正确读取它。 它在<sys/types.h>定义。 但是我不明白这个定义。 它只是将__off_t or _off64_t定义为off_t 。 在哪里寻找__off_t ? 也是约定, __是头文件中的大部分事物的前缀,当我阅读头文件以更好地理解时,会吓到我。 如何更好地读取头文件? #ifndef __off_t_defined # ifndef __USE_FILE_OFFSET64 typedef __off_t off_t; # else typedef __off64_t off_t; # endif # define __off_t_defined #endif

.NET套接字与C + +套接字高性能

我的问题是与C ++与C#的同事解决一个争论。 我们已经实现了一个接收大量UDPstream的服务器。 这个服务器是用C ++开发的,使用asynchronous套接字和重叠的I / O使用完成端口。 我们使用5个线程的5个完成端口。 这台服务器可以在千兆networking上轻松处理500 Mbps的吞吐量,而不会丢失任何数据包/错误(我们没有将testing推到500 Mbps以上)。 我们试图在C#中重新实现相同types的服务器,并且我们还没有达到相同的吞吐量。 我们使用ReceiveAsync方法和SocketAsyncEventArgs池来使用asynchronous接收,以避免为每个接收调用创build新对象的开销。 每个SAEventArgs都有一个缓冲区,所以我们不需要为每个接收分配内存。 池非常非常大,所以我们可以排队超过100个接收请求。 此服务器无法处理超过240 Mbps的传入吞吐量。 超过这个限制,我们在UDPstream中丢失了一些数据包。 我的问题是:我应该期望使用C + +套接字和C#套接字相同的性能? 我的意见是,如果内存在.NET中正确pipe理,它应该是相同的性能。 侧面的问题:有人会知道一个很好的文章/参考解释如何.NET套接字使用I / O完成端口下的引擎?

为什么sin_addr在结构体in_addr中?

我的怀疑与UNIX中套接字的以下结构有关: struct sockaddr_in { short sin_family; // eg AF_INET, AF_INET6 unsigned short sin_port; // eg htons(3490) struct in_addr sin_addr; // see struct in_addr, below char sin_zero[8]; // zero this if you want to }; 这里成员sin_addr的types是struct in_addr 。 但是我不明白为什么有人会这样做,因为所有struct inaddr都是这样的: struct in_addr { unsigned long s_addr; // load with inet_pton() }; 所有in_addr只有一个成员s_addr 。 为什么我们不能有这样的事情: struct sockaddr_in […]

什么时候应该使用TCP_NODELAY和TCP_CORK?

我明白,他们都禁用Nagle的algorithm。 什么时候应该/不应该使用他们中的每一个?

PostgreSQL UNIX域套接字与TCP套接字

我不知道如果UNIX域套接字与PostgreSQL的连接速度更快,然后从本地主机的TCP连接高并发率,如果它,多less?