如果有连接则新建一线程新生成一个socket负责和客户端通信,可是当客户端断线
或关闭socket时,我如何能够监测到。
注:采用线程池的方式把每一个服务socket都放进去;
用TextReader和TextWriter类进行数据的接收和传输;
数据的接收和传输采用同步阻塞方法。
已用try catch作错误处理,但是当远端断开时,不能检测到错误。
请教???
6 个解决方案
#1
假如你服务器和客户端都是在C#下完成的话,某一端掉线会向另一端传送一个字符数为0的串,你用
int bytes = socket.receive(buffer);
if (bytes==0)
{
}
就行,不过一般测试网络连接是由客户端每搁1秒发送一个特定字符串,服务器接受后,再原样返回。
int bytes = socket.receive(buffer);
if (bytes==0)
{
}
就行,不过一般测试网络连接是由客户端每搁1秒发送一个特定字符串,服务器接受后,再原样返回。
#2
要看你的程序怎么写的。
对每一个连接用户启动线程,绝对使用Socket,其有一属性Alive还是Connected的忘记了,这样搞定。
我以前写了个玩玩的。。不过程序拿不出来:))
公司能POST的机器只有一台,与开发区的机器“隔离”的!!,没有办法:(
对每一个连接用户启动线程,绝对使用Socket,其有一属性Alive还是Connected的忘记了,这样搞定。
我以前写了个玩玩的。。不过程序拿不出来:))
公司能POST的机器只有一台,与开发区的机器“隔离”的!!,没有办法:(
#3
回复皮皮:int bytes = socket.receive(buffer);,好像不行
当客户端掉线时,此行不往下执行,不知道为什么?
回复人: aspcn(飞刀) ,代码根本就不返回,在
reader.read(buffer,0,1024)下加断点,当远端断开时,根本
就不触发断点,真的挠头?
谁来救我!!!!!!!!!!!
当客户端掉线时,此行不往下执行,不知道为什么?
回复人: aspcn(飞刀) ,代码根本就不返回,在
reader.read(buffer,0,1024)下加断点,当远端断开时,根本
就不触发断点,真的挠头?
谁来救我!!!!!!!!!!!
#4
所以你的每秒从客户端传一个字符组给SERVER,然后由SERVER返回嘛!
银行系统都是这样做的
银行系统都是这样做的
#5
怎么能这样做,判断是否连结咋是这样子。
我的程序是拿不出来。
给你看看这个吧。
http://www.codeproject.com/dotnet/dotnetTCP.asp
我的程序是拿不出来。
给你看看这个吧。
http://www.codeproject.com/dotnet/dotnetTCP.asp
#6
多谢二位,多谢飞刀,望以后多多赐教
接分
接分
#1
假如你服务器和客户端都是在C#下完成的话,某一端掉线会向另一端传送一个字符数为0的串,你用
int bytes = socket.receive(buffer);
if (bytes==0)
{
}
就行,不过一般测试网络连接是由客户端每搁1秒发送一个特定字符串,服务器接受后,再原样返回。
int bytes = socket.receive(buffer);
if (bytes==0)
{
}
就行,不过一般测试网络连接是由客户端每搁1秒发送一个特定字符串,服务器接受后,再原样返回。
#2
要看你的程序怎么写的。
对每一个连接用户启动线程,绝对使用Socket,其有一属性Alive还是Connected的忘记了,这样搞定。
我以前写了个玩玩的。。不过程序拿不出来:))
公司能POST的机器只有一台,与开发区的机器“隔离”的!!,没有办法:(
对每一个连接用户启动线程,绝对使用Socket,其有一属性Alive还是Connected的忘记了,这样搞定。
我以前写了个玩玩的。。不过程序拿不出来:))
公司能POST的机器只有一台,与开发区的机器“隔离”的!!,没有办法:(
#3
回复皮皮:int bytes = socket.receive(buffer);,好像不行
当客户端掉线时,此行不往下执行,不知道为什么?
回复人: aspcn(飞刀) ,代码根本就不返回,在
reader.read(buffer,0,1024)下加断点,当远端断开时,根本
就不触发断点,真的挠头?
谁来救我!!!!!!!!!!!
当客户端掉线时,此行不往下执行,不知道为什么?
回复人: aspcn(飞刀) ,代码根本就不返回,在
reader.read(buffer,0,1024)下加断点,当远端断开时,根本
就不触发断点,真的挠头?
谁来救我!!!!!!!!!!!
#4
所以你的每秒从客户端传一个字符组给SERVER,然后由SERVER返回嘛!
银行系统都是这样做的
银行系统都是这样做的
#5
怎么能这样做,判断是否连结咋是这样子。
我的程序是拿不出来。
给你看看这个吧。
http://www.codeproject.com/dotnet/dotnetTCP.asp
我的程序是拿不出来。
给你看看这个吧。
http://www.codeproject.com/dotnet/dotnetTCP.asp
#6
多谢二位,多谢飞刀,望以后多多赐教
接分
接分