您能否在 System.Net.Sockets 中设置 recive 调用以作为设置了 MSG_PUSH_IMMEDIATE 标志的 winsocket2 WSARecv
Can you setup recive call in System.Net.Sockets to behave as winsocket2 WSARecv with MSG_PUSH_IMMEDIATE flag set
我正在连接到未在其 TCP 数据包上设置 PSH 标志的服务器。由于延迟很重要,我需要在接收时忽略 PSH 标志并立即转发缓冲区中的任何内容。
这在 winsock2 api 中可以通过 WSARecv 函数和 MSG_PUSH_IMMEDIATE 标志实现。 .net 套接字是否可以实现相同的功能?
看起来 Rowan Smith 这个想法可行。我将 (SocketFlags)0x20
添加到 BeginReceive() 函数,它在后台传播到 WSARecv() 函数,因此延迟被消除了。
我检查了 .net framework 4.5.1 和 4.8,这两个实现都只是将 SocketFlags 传递给 WSARecv(),而不使用或修改它们。
谢谢!
我正在连接到未在其 TCP 数据包上设置 PSH 标志的服务器。由于延迟很重要,我需要在接收时忽略 PSH 标志并立即转发缓冲区中的任何内容。
这在 winsock2 api 中可以通过 WSARecv 函数和 MSG_PUSH_IMMEDIATE 标志实现。 .net 套接字是否可以实现相同的功能?
看起来 Rowan Smith 这个想法可行。我将 (SocketFlags)0x20
添加到 BeginReceive() 函数,它在后台传播到 WSARecv() 函数,因此延迟被消除了。
我检查了 .net framework 4.5.1 和 4.8,这两个实现都只是将 SocketFlags 传递给 WSARecv(),而不使用或修改它们。
谢谢!