感谢您提前阅读和回答!
我编写了一个简单的 C# 程序,通过套接字与第三方工具连接。每当我发送超过 1024 个字符的字符串时,第三方软件都会抛出错误。现在我试图找出这是否是我的套接字代码或其他软件之一(EnergyPlus)的问题。
这只是几行代码,如果有人有建议,他们将不胜感激!
using System.IO;
using System.Net;
using System.Net.Sockets;
...
private int port = 1410;
private TcpListener listener;
private Stream s;
private StreamReader sr;
private StreamWriter sw;
private Socket soc;
...
这里真正开始:
listener = new TcpListener(port);
listener.Start();
soc = listener.AcceptSocket();
// now, the other program connects
soc.SetSocketOption(SocketOptionLevel.Socket,
SocketOptionName.ReceiveTimeout, 10000);
s = new NetworkStream(soc);
sr = new StreamReader(s);
sw = new StreamWriter(s);
sw.AutoFlush = true; // enable automatic flushing
sw.WriteLine("more or less than 1024 characters");
...
这是我使用的代码。有什么我忘记了吗?有什么我应该照顾的吗?我很高兴有任何建议。
我从 E+ 得到的错误如下:
ExternalInterface: Socket communication received error value " 1" at time = 0.00 hours.
ExternalInterface: Flag from server " 0".