Nếu tôi làm điều gì đó như thế này:Unsureness về đi EndPoint để Socket.ReceiveFrom()
byte[] buffer = new byte[1024];
Socket sock = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
IPEndPoint remote = new IPEndPoint(IPAddress.Parse("12.34.56.78"), 1337);
sock.ReceiveFrom(buffer, ref remote);
sẽ phương pháp ReceiveFrom chỉ nhận được gói tin từ các thiết bị đầu cuối đang được thông qua? Tài liệu nêu rõ các điều sau:
Với giao thức không kết nối, ReceiveFrom sẽ đọc dữ liệu đầu tiên nạp vào bộ đệm mạng cục bộ.
Điều đó có nghĩa là EndPoint đã qua chỉ được sử dụng để lưu trữ EndPoint của máy chủ mà gói tin đến và không ảnh hưởng đến hành vi của phương thức ReceiveFrom? Nếu vậy, tại sao nó cần phải được thông qua như là "ref" thay vì "ra"?
Sau khi thực hiện một số thử nghiệm, tôi đã tìm ra rằng giá trị của điểm kết thúc đã qua không quan trọng. Nó chỉ được sử dụng để lưu trữ. Nhưng tôi vẫn không biết tại sao nó phải được thông qua như là tham chiếu sau đó. – haiyyu
Không phải EndPoint là một cấu trúc? – Joshua
Vâng, bạn nói đúng. Mặc dù điều đó không nên tạo sự khác biệt trong trường hợp của tôi. – haiyyu