Tag: tcpsocket

Android的tcp套接字设置etimedout值

我有Android上的TCP套接字客户端。 另外,我有tcp套接字服务器nodejs,它发送到连接客户端testing消息每2秒。 当我启动应用程序时,它从服务器接收testing消息。 但是,当我closuresWi-Fi连接,我的客户端套接字closures并抛出SocketException(etimedout),如果我打开Wi-Fi我无法接收服务器消息。 但服务器消息已经在服务器中排队,并等待发送给客户端。 据我所知,如果tcp客户端丢失连接,它应该尝试修复连接并接收服务器消息。 但在我的情况下,客户端无法接收消息,因为套接字closures。 在我的电脑上使用Windows和Linux套接字客户端,我正在做同样的事情,但是当我closuresWi-Fi时,客户端套接字没有closures,当我切换Wi-Fi时,我收到消息, -fi禁用。 问题:为什么在android中,套接字很快closures? 我可以设置套接字客户端closures的任何超时? 我试过了 : setKeepAlive(true); setSoTimeout(10000); 试过使用SocketFactory.getDefault().createSocket(); 没有效果。

用node.js / io.js文件传输(压缩)

什么是通过tcp套接字在两个服务器之间传输二进制压缩文件(大约100MB,tar.gz)的正确方法。 一般来说,我的转换工作正常,但目标上传输的文件几乎是不可用的两倍。 client.js: var net = require('net'); var fs = require('fs'); //read file var myFile = fs.readFileSync('e:/test/console/deploy/test.tar.gz'); upload = function(ip, port, callback){ var client = new net.Socket(); // connect client.connect(port, ip, function () { console.log('Connecting ….'); // Send file client.end(myFile); }); } // end upload // Uploading file upload('127.0.0.1', '9001', function(reponse){ console.log(reponse) }); server.js: var […]

如何从NodeJs中的tcp套接字断开连接

我使用以下命令连接到NodeJs中的套接字服务器: client = net.createConnection() 那我怎么才能正常断开与服务器的连接呢? 我试过client.end()甚至client.destroy() 但是当我使用netstat检查连接状态时,它显示连接处于状态FIN_WAIT2。 我怎样才能closures和摧毁连接?