public void Start()
{
Logger.Trace("Start() begin");
var buffer = new byte[1024*4];
var sender = new IPEndPoint(IPAddress.Any, 0);
EndPoint remote = sender;
_run = true;
while (_run)
{
if (!_socket.IsBound)
{
BindSocket();
}
try
{
int recv = _socket.ReceiveFrom(buffer, ref remote);
string str = Encoding.ASCII.GetString(buffer, 0, recv);
str = str.TrimEnd('\r', '\n');
_messageHandler(str);
}
catch
{
CloseSocket();
}
}
Logger.Trace("Start() end");
}