半开插座

时间:2012-06-04 09:13:45

标签: c# sockets

在node.js中,可以有一个半开的套接字。这意味着套接字只能在不关闭整个套接字的情况下进行读取或写入。一个例子:

var net = require("net");
net.createServer({allowHalfOpen:true},function(c){
    c.on("data",function(d){
        console.log(d+"");
    });
    c.on("end",function(){
        console.log("ended");
        c.end("thx");
    });
}).listen(888);

var c = net.connect(888,function(){
    c.end("hi");
    c.on("data",function(d){
        console.log(d+"");
    });
    c.on("end",function(){
        console.log("ended");
    });
});

输出:

hi
ended
thx
ended

C#中是否有办法只关闭套接字的一个方向?另外,有没有办法知道套接字是否可读但不可写,反之亦然?

1 个答案:

答案 0 :(得分:1)

是。 TCP中有一个“关闭输出”操作,在C#中有一个API。再看看。