我正在尝试通过TCP接收大字符串,我尝试了各种方法,但没有一个像这个一样好(实际上非常简单)。
public partial class MyClass : Form
{
Int64 counter;
StreamWriter writer;
StreamReader reader;
public MyClass(object streamIn, object StreamOut)
{
InitializeComponent();
richTextBox1.BackColor = Color.Black;
richTextBox1.ForeColor = Color.Gray;
writer = (StreamWriter)streamIn;
reader = (StreamReader)StreamOut;
}
private void button1_Click(object sender, EventArgs e)
{
JObject o = new JObject();
char[] buffer = new char[1024];
int count = buffer.Length;
o.Add("comando", 15);
o.Add("filename", textBox2.Text);
o.Add("param", textBox3.Text);
writer.Write(o.ToString());
writer.Flush();
richTextBox1.Text = reader.ReadToEnd();
}
}
使用它的问题是我必须在另一端关闭流,以便读取它。有什么办法我可以使用reader.ReadToEnd()
而不必在发送后关闭另一端的流,从而关闭客户端 - 服务器之间的连接?
答案 0 :(得分:1)
查看networkcomms.net文章中介绍的网络库Getting Started的基本示例。虽然这是一个控制台示例,但它允许您发送任意长度的字符串。
您的示例看起来可能是winform应用程序。如果感兴趣,还有一个WPF chat application示例。