郁闷 TcpListener 类 ,送分了。

seatno 2004-06-16 10:07:56
//以下代码是自己做的一个类

1)m_ServerTcpListener 是 TcpListener
2)StratListener 将由构造同过线程调用,志在启动监听。
public void StratListener()
{
if (m_ServerTcpListener!=null)
{
m_ServerTcpListener.Start (); //启动侦听
}
while (true)
{
while (!m_ServerTcpListener.Pending()) // 是否有客户连接
{
Thread.Sleep(100);//
}
//问题在此。
//下面程序为了多先程处理登陆客户,性能非常不稳定,不知为何??
//WNetWorkServer 为自以类处理客户Socket
WNetWorkServer mWorkServer =new WNetWorkServer (m_ServerTcpListener);
//创建线程
ThreadStart mThreadStart = new ThreadStart(mWorkServer.HandleThread);
Thread myWorkerThread = new Thread(mThreadStart);
myWorkerThread.Name = "Created at " + DateTime.Now.ToString();
myWorkerThread.Start();
ClientConnect(this,mWorkServer.GetThreadInfo ()); //触发事件
}
}

//WNetWorkServer 为自以类处理客户Socket 类主要代码
public void HandleThread()
{
try
{
ReadData();
}
catch(Excption){}
}
private void ReadData()
{
Socket mSocket=m_TcpListener.AcceptSocket ();
while (mSocket.Connected)
{
byte [] by =new byte[20];
int i = mSocket.Receive(by,by.Length ,0);
string ss = System.Text.Encoding.ASCII.GetString(by);
//创建多线程处理。
}
}

...全文
64 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
seatno 2004-06-17
  • 打赏
  • 举报
回复
private void ReadData()
{
Socket mSocket=m_TcpListener.AcceptSocket ();
while (mSocket.Connected)
{
byte [] by =new byte[20];
int i = mSocket.Receive(by,by.Length ,0);
string ss = System.Text.Encoding.ASCII.GetString(by);
//创建多线程处理。
}
}
该类有问题?

110,539

社区成员

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

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

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