private void Accept(IAsyncResult ia)
{
try
{
s = ia.AsyncState as Socket; worker = s.EndAccept(ia); s.BeginAccept(new AsyncCallback(Accept), s); worker.BeginReceive(buf, 0, buf.Length, SocketFlags.None, new AsyncCallback(Receive), worker);
}
catch
{ }
} private void Receive(IAsyncResult ia)
{
try
{
worker = ia.AsyncState as Socket; int count = worker.EndReceive(ia); if (count > 0)
{
if (Program.ServiceType != 1)
{
worker.BeginReceive(buf, 0, buf.Length, SocketFlags.None, new AsyncCallback(Receive), worker);
} CheckData(count);
}
}
catch
{ }
}
private void SendData(int Count)
{
worker.Send(ombuffer, Count, SocketFlags.None); Program.LastClint = worker.RemoteEndPoint.ToString(); if (Program.ServiceType == 1)
{
worker.Close();
}
} private void StartListen()
{
try
{
if (s != null)
{
s.Close();
} Thread.Sleep(100); s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); iep = new IPEndPoint(IPAddress.Any, Program.Port); s.Bind(iep); s.Listen(6); s.BeginAccept(new AsyncCallback(Accept), s); }
catch (Exception ex)
{
MessageBox.Show(ex.Message, "出错了", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货