草庐IT

Socket_recv

全部标签

node.js - 确定 socket.io 是 TCP 还是 HTTP

这是我的Node服务器vario=require('socket.io').listen(8889);io.sockets.on('connection',function(socket){socket.emit('news',{hello:'world'});socket.on('myotherevent',function(data){console.log(data);});});我正在尝试在socket.io.js的帮助下从客户端连接到此Node服务器我的连接没有任何问题我的要求是我想创建一个客户端可以连接的TCP连接但是我怎么知道并确认服务器是TCP类型还是HTTP类型

c# - 只关闭 Socket 就足够了吗?还是我也应该关闭流?

当我通过TCP套接字与我的服务器建立连接时,我使用以下代码进行通信:Socketsocket=...NetworkStreamns=newNetworkStream(socket);StreamReadersr=newStreamReader(ns);StreamWritersw=newStreamWriter(ns);现在...只执行socket.Close();就足够了吗?还是更好:sw.Close();sr.Close();ns.Close();socket.Close();有谁知道清理/关闭/释放套接字最合适的方法是什么?另外,我应该对上面定义的每个变量执行Dispose()吗

ruby - 通过 ruby​​ TCP Socket 接收大量数据的问题

我正在通过TCP套接字发送和接收JSON数据。当数据量较小时(例如200字节左右),它工作正常。但是当它达到大约10KB时,它只接收部分数据。我已经尝试了我能找到的所有不同的TCP套接字检索数据命令(read、gets、gets.chomp、recv),但找不到适用于我所有测试的命令。这是我现在的代码:socket=TCPSocket.new'10.11.50.xx',13338response=socket.recv(1000000000)我也尝试过添加超时,但我无法让它工作:socket.setsockopt(Socket::SOL_SOCKET,Socket::SO_RCVTIM

c - 在 VirtualBox 中的 Debian 上调用 socket() 时出现错误 97

我正致力于在C中创建一个简单的服务器。现在我在创建套接字以监听传入连接时遇到问题。我在x86Debian发行版上运行VirtualBox。我的代码如下:#define_POSIX_SOURCE#include#include/*threads,yo*/#include#include/*memset*/#include#include#include#include#include#include/*helperslikeinet_ntop*/#includevoidlistenInput();void*handleConn(void*args){printf("Handlingcon

javascript - 快速调用 socket.send() 时,websocket 客户端间歇性地无法传输

我有一个websocket服务器和客户端。我能够建立连接并双向传输消息(数据)。但是,当在Web浏览器中运行的客户端快速调用socket.send()时,服务器不会接收到一些消息。如果我放慢客户端对socket.send()的调用,则服务器会收到所有消息。为什么调用socket.send()的时间与间歇性丢弃消息有什么关系?在Win7、Android和iOs上运行的Chrome、FireFox和Safari会出现此行为。因此,我不认为这是浏览器错误。服务器是nodejs,但这无关紧要,因为服务器不是问题所在。我所说的快速调用是指在由requireAnimationFrame()控制的循

c# - Socket.Send 是否有可能阻止代码并永远完成?

我得到了这个Socket.Send代码,我的协议(protocol)是tcp。byte[]commandBytes=Encoding.ASCII.GetBytes(command);intiBytesSent=socket.Send(commandBytes,commandBytes.Length,SocketFlags.None);Debug.WriteLine("SEND:"+command);我有超过10,000个命令要发送,每个命令大约有100个字符。我在foreach循环中为10,000个命令调用Socket.Send。我注意到Socket.Send代码阻塞了当前线程并需要很

node.js - Node : TCP socket server only returns data the first time

我正在尝试在node.js中编写一个小型中继脚本,用于监听本地套接字上传入的TCP连接,并在获得连接时将流量转发给第3方。它还必须从第3方获取任何返回的数据并将其发送回原始本地套接字。我试过像http://delog.wordpress.com/2011/07/19/a-tcp-relay-mechanism-with-node-js/这样的代码它确实有效,但它要求发送者是一个正在监听套接字本身的服务器,我的实用程序旨在与任何试图创建出站TCP连接的程序一起使用。不幸的是,我遇到的问题是第一次一切都很好,客户端将数据发送到“路由器”程序,路由器将其转发到另一台服务器,然后从客户端返回数

Java Socket 客户端向设备发送额外的字节

目前我正在开发一个将二进制数据命令发送到设备面板的Java客户端。我有一个奇怪的问题,如果我为每个套接字连接(一个TCPsession)发送一个命令,所有命令都可以正常工作。但是当我在一个连接(同一个TCPsession)中发送多个命令时,第一个命令在设备面板上完美执行,但在第二个命令中它获得两个额外的字节,值为0x01和0x00。很奇怪,这几天我一直在尝试,但找不到答案。我的代码:SSLSocketFactorysslsocketfactory=(SSLSocketFactory)SSLSocketFactory.getDefault();sslsocket=(SSLSocket)s

Linux/Unix Socket自连接

当客户端尝试连接到服务器时,如果客户端和服务器都是本地主机,则可能会发生自连接(源端口和目标端口恰好相同。)。但我的问题是,客户端没有监听那个端口,怎么可能自连接? 最佳答案 遇到同样的现象后,我发现了你的问题。我找到的最好的解释是EverythingAboutNothing:TCPClientSelfConnect.您可以通过getsockname()请求分配给您的端口,并将其与远程端口进行比较以检测这些自连接:sockaddr_inaddr_client;socklet_tlen=sizeof(saddr_in);if(gets

windows - 为什么在 Windows 上尝试 Socket.connect 失败需要 1 秒?

使用.net时,我注意到尝试连接到未监听的端口总是需要1秒。为了检查这是.net抽象中的问题还是较低级别的问题,并将其与linux进行比较(不成功的telnet需要大约3ms),我使用了一个节点。连接端口的js脚本12345,没有进程监听的端口80,正在监听的端口Windows的结果:Connectingto127.0.0.1:12345#3:errorelapsed:1000ms,Error:connectECONNREFUSED#2:errorelapsed:1002ms,Error:connectECONNREFUSED#4:errorelapsed:1003ms,Error:c