111,093
社区成员




Thread acceptThread = new Thread(new ParameterizedThreadStart(AcceptUDP));
acceptThread.IsBackground = true;
acceptThread.Start(globalUDP);
private void AcceptUDP(object obj)
{
UdpState udp = (UdpState)obj;
try
{
while (udp.UDPClient.Client != null)
{
byte[] acceptbyte = new byte[1024];
IPEndPoint sender = new IPEndPoint(IPAddress.Any, 0);//定义要发送的计算机的地址
EndPoint Remote = (EndPoint)(sender);//
int mm = udp.UDPClient.Client.ReceiveFrom(acceptbyte, ref Remote);
IPEndPoint iep = (IPEndPoint)Remote;
ReceiveString = Encoding.ASCII.GetString(acceptbyte, 0, mm);
string exist = "0";
ReceiveString = iep.Address.ToString() + "\n" + ReceiveString.Replace("\r\n", "\n") + exist;
//AddDiscoveryEntry(ReceiveString); 此處主要將收到的信息顯示在界面。現打算將此socket相關全部做成一個類庫,那麼對於這處該如何處理?用繼承、重寫?謝謝
}
}
catch
{
}
}
public delegate void MsgReceiveHandler(string msg);
public MsgReceiveHandler OnMsgReceive;
private void AcceptUDP(object obj)
{
UdpState udp = (UdpState)obj;
try
{
while (udp.UDPClient.Client != null)
{
byte[] acceptbyte = new byte[1024];
IPEndPoint sender = new IPEndPoint(IPAddress.Any, 0);//定义要发送的计算机的地址
EndPoint Remote = (EndPoint)(sender);//
int mm = udp.UDPClient.Client.ReceiveFrom(acceptbyte, ref Remote);
IPEndPoint iep = (IPEndPoint)Remote;
ReceiveString = Encoding.ASCII.GetString(acceptbyte, 0, mm);
string exist = "0";
ReceiveString = iep.Address.ToString() + "\n" + ReceiveString.Replace("\r\n", "\n") + exist;
//AddDiscoveryEntry(ReceiveString); 此處主要將收到的信息顯示在界面。現打算將此socket相關全部做成一個類庫,那麼對於這處該如何處理?用繼承、重寫?謝謝
if (OnMsgReceive != null)
{
OnMsgReceive(ReceiveString);
}
}
}
catch
{
}
}
//介面调用
public void UICallTest()
{
Form1 f = new Form1();
f.OnMsgReceive += new MsgReceiveHandler(ReceiveMsg);
}
public void ReceiveMsg(String msg)
{
Console.WriteLine(msg);
}