这断时间,涉及到局域网联机游戏,4台游戏机实现联机,运用到了UDP广播功能。本来自己对这个完全没接触,不知道可以用UDP,是同事有做过这个,在他的指导下,算是可以用了。只是运行后会卡死机器,网上查资料,加上自己的研究,总算是解决了,原因就是接收的udpclient在没有收到广播的情况下,一直阻塞,导致线程无法关闭,后来我就在关闭的地方手动进行关闭,就不会卡啦。写个博客,可以给有需要的人一个参考,也可以为自己做个笔记。代码如下:
public bool m_RecvEnable { set; get; }
public bool m_SendEnable { set; get; }
public string m_SendMsg { set; get; }
public delegate void AlexLin_UdpDataCome(string sValue);
private AlexLin_UdpDataCome m_UdpDataCome;
private string m_RecMsg;
Thread Send,Rec;
UdpClient clientRec;
public AlexLin_UdpBroadcast()
{
m_RecvEnable = false;
m_SendEnable = false;
}
public void mb_SetUdpDataCome(AlexLin_UdpDataCome aUdpDataCome)
{
<