我正在开发一个通过套接字接收 tcp 数据的低延迟金融应用程序。
这就是我建立套接字连接和接收字节的方式:
public class IncomingData
{
Socket _Socket;
byte[] buffer = new byte[4096];
public static void Connect(IPEndPoint endPoint)
{
_Socket = new Socket(
AddressFamily.InterNetwork,
SocketType.Stream,
ProtocolType.Tcp);
_Socket.Connect(endPoint);
}
public static void ReadSocket(int ReadQty)
{
_Socket.Receive(buffer, 0, ReadQty, SocketFlags.None);
}
}
我听说当你调用Receive()
一个 Stream 套接字时,调用线程被置于睡眠状态,并在接收到数据时被唤醒。我希望线程全速运行(使用 CPU 容量)。
有没有办法可以使用 Stream 套接字来做到这一点?如果唯一的方法是使用原始套接字,你能提供一个例子吗?