В рамках образовательного проекта я начал работать над высокооптимизированным игровым сервером MMO в C#.
Я стараюсь максимально избегать выделения дополнительной памяти, и я хотел спросите, можно ли повторно использовать объект IPEndPoint без выделения памяти.
Я ожидал бы что-то вроде этого (функция, которую я хочу, IPEndPoint.DeepCopy
):
public void Send(IPEndPoint toIP, byte[] buffer, int numOfBytes)
{
// try aquire send event from free list
SocketAsyncEventArgs e;
bool successfullyTaken = this._writeEventArgsPool.TryTake(out e);
// copy buffer
// ....
// set the outgoing IP
IPEndPoint.DeepCopy(toIP, e.RemoteEndPoint);
// send the packet
//..
}
Спасибо.