私は、ソケットを介して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ソケットを使用してこれを行う方法はありますか?唯一の方法がRawソケットを使用する場合、例を挙げていただけますか?