gpt4 book ai didi

c# - Socket.ReceiveMessageFrom() 的端点参数是什么?

转载 作者:行者123 更新时间:2023-11-30 17:23:07 25 4
gpt4 key购买 nike

我正在为 iSCSI 编写一个代理应用程序来做一些诊断工作(想想 Fiddler for iSCSI)——我试图一次捕获一个数据包的数据,我不想读取任意大小并最终得到所有一个 iSCSI 数据包和另一个的一半 - 我真的很想看到与 Wireshark 显示的相同类型的数据。为此,我使用了 Socket.ReceiveMessageFrom()

但是,其中一个参数称为“端点”,我不太确定如何处理它。有什么线索吗?这是我的代码,你能告诉我我是否完全偏离了基地:

Tuple<byte[], int> readOnePacket(TcpClient conn) {
var flags = SocketFlags.None;
EndPoint endpoint = null; /*** You can't set this to null!! ***/
byte[] buffer = new byte[10 * 0x100000];
int offset = 0;
int bytes_received;

do {
IPPacketInformation packet_information;
bytes_received = conn.Client.ReceiveMessageFrom(buffer, offset, BufferSize,
ref flags, ref endpoint, out packet_information);

if (flags == SocketFlags.Partial) {
// We only want to transfer full packets
offset = bytes_received;
continue;
}
} while (false);

return new Tuple<byte[], int>(buffer, bytes_received + offset );
}

最佳答案

不是TcpClient.ReceiveMessageFrom(),而是Socket.ReceiveMessageFrom()

如果你看一下 documentation ,您将阅读以下内容:

An EndPoint, passed by reference, that represents the remote server.

编辑:将其设置为 null 确实是一个坏主意。

关于c# - Socket.ReceiveMessageFrom() 的端点参数是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2359775/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com