毕设遇到困难了,跪请大家帮忙。关于tcpclient的问题

jknight 2004-03-17 11:38:56
服务器端接受客户端的信息

TcpClient client = serverListener.AcceptTcpClient();

监听的线程:
string temp; //接受到的字符串
while(enabled)
{
try
{
NetworkStream netstrm=client.GetStream();
byte[] tempbyte=new byte[512];
int num=netstrm.Read(tempbyte,0,tempbyte.Length);
temp=System.Text.Encoding.Unicode.GetString(tempbyte);
if (num != 0)
{
MsageBox.Show("message is "+ temp);
temp="";
}
}
catch(Exception e)
{
MessageBox.Show(e.ToString());
}
}

客户端断开的时候为什么没有捕获异常?
而且断开之后netstrm.canRead一直为true,为什么啊

真的很急,跪求大家帮忙了。请大家同情一下

up有分
...全文
72 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
rroo 2004-03-19
  • 打赏
  • 举报
回复
控件已經發了,總共3個項目,NetSocket,TestClient,TestServer.
Server啟動(需要填寫IP,也可以從系統獲取),當有Client連上來後會觸發OnConnected事件,斷開也一樣,Server在收到Client發送過來的string後,會將該string回送給client(當時這樣設計是因為客戶有這個需求),你可以做相應修改,以滿足你的需求.
Server在收到Client的連接請求後,會創建一個ActiveConnection對象並啟動另外一個偵聽,這樣可以保證Server永遠都是可以連上的,你可以用一個HashTable來保存各個ActiveConnection對象,這樣在Server上就會保存所有Connection的handle,用於控制各個Client.
我想你只要看懂這個程序,在此基礎上做相應修改,我想應該沒有問題了.再不行可以直接和我聯繫janewu@msik.com.cn


WilliamFire 2004-03-18
  • 打赏
  • 举报
回复
猜测一下吧:

估计是这样在,你与客户端之间的数据不是持续连接着的,换一种说法,客户端掉线了,你服务端的是不知道的。你可以让服务端每隔一小段时间发送一个固定的数据到客户端,观察客户端是否也回复一个固定的数据。

这样捕获异常就方便一些了。
sy246 2004-03-18
  • 打赏
  • 举报
回复
rroo(天之痕)
也给我一份吧
zguilin@eyou.com
谢谢先!
jknight 2004-03-18
  • 打赏
  • 举报
回复
汗,都是来曾东西的,没有帮忙的

客户端断开之后仍然从NetworkStream netstrm=client.GetStream();里读取数据,没道理不异常?
cysoft 2004-03-18
  • 打赏
  • 举报
回复
to :rroo(天之痕)
也给我一份吧
cysoft@msn.com
谢谢先!
AI & Blockchain 2004-03-18
  • 打赏
  • 举报
回复
lyx@gigroup.com.cn
谢谢!
lcg200x 2004-03-18
  • 打赏
  • 举报
回复
lcg200x@126.com
多谢大哥!也给我一份!
jknight 2004-03-18
  • 打赏
  • 举报
回复
jellyknight@163.com 谢谢了

客户端断开之后仍然从NetworkStream netstrm=client.GetStream();里读取数据,没道理不异常啊

难道偶真的rpwt了 -_-
lingyunfeipu 2004-03-18
  • 打赏
  • 举报
回复
to :rroo(天之痕)
也给我一份吧

lingyunfeipu@yahoo.com.cn

先谢了!
jknight 2004-03-18
  • 打赏
  • 举报
回复
可怜的我
自己up
hertcloud 2004-03-18
  • 打赏
  • 举报
回复
Socket
哎!不通晓
帮你up!
你看看这里:http://www.aspcool.com/
rroo 2004-03-18
  • 打赏
  • 举报
回复
把mail留下
我給一個我自己寫的Socket給你看看,客戶端連接和斷開Server都會知道,有Sample
Firestone2003 2004-03-17
  • 打赏
  • 举报
回复
帮你ding!
PS。普通的断线会产生异常吗??

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧