111,121
社区成员
发帖
与我相关
我的任务
分享
//监听网络
public bool OpenNet(string sPort)
{
processor = new Thread(new ThreadStart(StartListening));//新建监听线程
processor.Priority = ThreadPriority.Normal;
processor.IsBackground = true;
processor.Start();//线程开始
return true;
}
private void StartListening()
{
//获取端口号
string sPort = m_IniFile.IniReadValue("Net", "TcpPort");
int iPort = int.Parse(sPort);
//
m_bListen = false;
//
try
{
m_EndPoint = new IPEndPoint(IPAddress.Any, iPort);//组合将访问主机的IP地址和端口号。
_svrSock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);//实例化Socket对象。
_svrSock.Bind(m_EndPoint);//绑定将访问的主机。
_svrSock.Listen(50);//开始监听,最大包长50。
//while循环接收
while (true)
{
if (m_bListen == false)
{
accsock = _svrSock.Accept();//接收客户端的服务请求套接字。
}
//
iDataBufLen = (ushort)accsock.Receive(bDataBuf, bDataBuf.Length, 0);
//
if (iDataBufLen > 0)
{
//处理数据
//同时m_bListen被置true
}
}
}
catch (Exception ex)
{
MessageBox.Show("监听异常:" + ex.Message);
return;
}
}