1

Java JDBC ドライバーの .NET 版として、C# で .NET データ プロバイダーを作成するのに忙しくしています。このドライバーは、XDR (旧マーシャリング プロトコル) を使用して TCP/IP 経由で RulesService に接続する必要があります。JDBC ドライバーは正常に動作していますが、C# の最初のプロトタイプでは、「確立された接続がホスト マシンのソフトウェアによって中止されました」というエラーが表示されました。

解決策を見つけるのに2日かかりました:使用System.IO.BufferedStream

例えば:

socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

socket.SendTimeout = timeout;
socket.ReceiveTimeout = timeout;

socket.SendBufferSize = 1048510;
socket.ReceiveBufferSize = 1048510;

socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.KeepAlive, true);
socket.NoDelay = true;

socket.Connect(host, port);

this.datastream = new **BufferedStream**((Stream)new NetworkStream(socket), 1048510);

この投稿が、誰かが解決策を探すのに 2 日も費やさないようにするのに役立つことを願っています :-)

4

0 に答える 0