mirror of https://github.com/lukechilds/node.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
924 B
47 lines
924 B
var common = require('../common');
|
|
var assert = require('assert');
|
|
var net = require('net');
|
|
|
|
var tcpPort = common.PORT;
|
|
|
|
var tcp = net.Server(function (s) {
|
|
tcp.close();
|
|
|
|
console.log("tcp server connection");
|
|
|
|
var buf = "";
|
|
s.on('data', function (d) {
|
|
buf += d;
|
|
});
|
|
|
|
s.on('end', function () {
|
|
assert.equal("foobar", buf);
|
|
console.log("tcp socket disconnect");
|
|
s.end();
|
|
});
|
|
|
|
s.on('error', function (e) {
|
|
console.log("tcp server-side error: " + e.message);
|
|
process.exit(1);
|
|
});
|
|
});
|
|
tcp.listen(tcpPort, startClient);
|
|
|
|
function startClient () {
|
|
var socket = net.Stream();
|
|
|
|
console.log("Connecting to socket");
|
|
|
|
socket.connect(tcpPort);
|
|
|
|
socket.on('connect', function () {
|
|
console.log('socket connected');
|
|
});
|
|
|
|
assert.equal("opening", socket.readyState);
|
|
|
|
assert.equal(false, socket.write("foo"));
|
|
socket.end("bar");
|
|
|
|
assert.equal("opening", socket.readyState);
|
|
}
|
|
|