C# ソケットとアンマネージ C++ DLL を集中的に使用するプログラムを作成しましたが、このような便利な機能はほとんどありません。
[DllImport(DLLName, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
[return: MarshalAs(UnmanagedType.LPStr)]
private static extern void calcData(float ask, float bid, float volume, float lastTrade, string symbolName, TQuoteType type, IntPtr str, out int size);
私は 8 ~ 10 のスレッドで C# マルチスレッドを使用しており、すべてのスレッドが 200 ミリ秒ごとにソケットでデータを送信しています。
プログラムは Windows 7 と Windows Server 2008 では正常に動作しますが、XP と Windows Server 2003 では2 日間の動作後にメモリ不足システム例外が発生します。RAM の最大使用量が 17 MB であるため、何が起こっているのかわかりません。誰でもこの問題を解決するのを手伝ってもらえますか?