示例#1
0
 public int Send(ByteBuffer buffer, EndPoint target)
 {
     if (!Socket.Poll(0, SelectMode.SelectWrite))
         return 0;
     var data = new byte[buffer.Remaining];
     buffer.Get(data);
     return Socket.SendTo(data, target);
 }
示例#2
0
 public EndPoint Receive(ByteBuffer buffer)
 {
     if (!Socket.Poll(0, SelectMode.SelectRead))
         return null;
     var ep = Socket.LocalEndPoint;
     var data = new byte[buffer.Remaining];
     var length = Socket.ReceiveFrom(data, ref ep);
     buffer.Put(data, 0, length);
     return ep;
 }
示例#3
0
 public void Put(ByteBuffer src, int length)
 {
     Put(src._array, src._position, length);
     src._position += length;
 }