netTcpで通信を行おうとしていますが、1.5Mを超えるデータを送信する辺りで
下記のようなエラーメッセージが表示されました。
(1Mデータなら送受信できます。)
(エラーメッセージ)
System.ServiceModel.CommunicationException: ソケット接続が中止さ
れました。これは、メッセージ処理時のエラー、リモート ホストでの受信タイムアウト
の超過、または基になるネットワーク リソースの問題が原因で発生する可能性がありま
す。ローカル ソケットのタイムアウトは '00:59:59.9843750' でした。 ---> System.Ne
t.Sockets.SocketException: 確立された接続がホスト コンピュータのソウトウェアによ
って中止されました。
場所 System.Net.Sockets.Socket.Send(Byte[] buffer, Int32 offset, Int32 size,
SocketFlags socketFlags)
場所 System.ServiceModel.Channels.SocketConnection.Write(Byte[] buffer, Int32
offset, Int32 size, Boolean immediate, TimeSpan timeout)
タイムアウトの超過とメッセージが出ているのでとりあえずWCF中のnetTcpの設定値である
『closeTimeout』、『openTimeout』、『receiveTimeout』、『sendTimeout』をすべて
『01:00:00』に定義して実行しましたが、同様のエラーが発生します。
定義例:
<netTcpBinding>
<binding name="NetSecurity" closeTimeout="01:00:00"
openTimeout="01:00:00" receiveTimeout="01:00:00" sendTimeout="01:00:00"
maxReceivedMessageSize="131072"
hostNameComparisonMode="StrongWildcard"
transferMode="Buffered">
<readerQuotas maxStringContentLength="131072"/>
<security mode="None"></security>
</binding>
</netTcpBinding>
1秒も経たずにすぐエラーが発生するので、タイムアウト設定とは無関係な位置で
問題があるようにも思えますが(※エラー発生がSocket.Sendということもあり)
解決方法、設定上まずい点があればご教授お願い致します。