主题:一对一的聊天器错误
NetworkStream netWorkStream;
StreamReader streamReader;
StreamWriter streamWriter;
public void Listen()//监听(点击Click1(启动按钮)触发)
{
IPAddress localaddr = Dns.GetHostAddresses(Dns.GetHostName())[0];//本机IP地址
tcpListener = new TcpListener(localaddr, 0);
tcpListener.Start();
socketForCliemt = tcpListener.AcceptSocket();
if (socketForCliemt.Connected==true)
{
textBox1.AppendText("已经连接上");
netWorkStream = new NetworkStream(socketForCliemt);
streamReader = new StreamReader(netWorkStream);
streamWriter = new StreamWriter(netWorkStream);
recvthread = new Thread(new ThreadStart(RecData));
}
}
public void sendData()//发送信息(点击Click2 触发)
{
if (textBox2.Text != "")
{
Invoke(new settext(Settext), "服务器:" + textBox2.Text + "\r\n");//在textBox2.Text显示输入
streamWriter.WriteLine(textBox2.Text);//未将对象引用设置到对象的实例。
streamWriter.Flush();//清空缓存,写入新的数据
Invoke(new settextVoid(settextvoid));//把textbox1中内容清空
}
}
//小弟初学者,这是一个一对一聊天器的一部分,小弟希望把NetworkStream流给streamReader,streamWriter,用他俩进行
读写,把文字显示在textbox中。然后再把输入的信息(在textbox2)写入streamWriter,然后再用NetWorkStream流
传递给客户端。
1.(1)streamWriter.WriteLine(textBox2.Text);//错误:未将对象引用设置到对象的实例。
这个错误应该是sendData()无法调用到Listen()函数里的对象实例造成的,希望能够调用到Listen()
函数里的streamWriter的实例,怎么改啊。
(2)那如果要在streamWriter.WriteLine(textBox2.Text)之前加一个new ,创建一个实例,
那StreamWriter() 的参数应该填什么啊
2. 用streamWriter 接收过以后,是不是还要用netWorkStream接收一下streamWriter的数据,才能传递给
客户啊。
StreamReader streamReader;
StreamWriter streamWriter;
public void Listen()//监听(点击Click1(启动按钮)触发)
{
IPAddress localaddr = Dns.GetHostAddresses(Dns.GetHostName())[0];//本机IP地址
tcpListener = new TcpListener(localaddr, 0);
tcpListener.Start();
socketForCliemt = tcpListener.AcceptSocket();
if (socketForCliemt.Connected==true)
{
textBox1.AppendText("已经连接上");
netWorkStream = new NetworkStream(socketForCliemt);
streamReader = new StreamReader(netWorkStream);
streamWriter = new StreamWriter(netWorkStream);
recvthread = new Thread(new ThreadStart(RecData));
}
}
public void sendData()//发送信息(点击Click2 触发)
{
if (textBox2.Text != "")
{
Invoke(new settext(Settext), "服务器:" + textBox2.Text + "\r\n");//在textBox2.Text显示输入
streamWriter.WriteLine(textBox2.Text);//未将对象引用设置到对象的实例。
streamWriter.Flush();//清空缓存,写入新的数据
Invoke(new settextVoid(settextvoid));//把textbox1中内容清空
}
}
//小弟初学者,这是一个一对一聊天器的一部分,小弟希望把NetworkStream流给streamReader,streamWriter,用他俩进行
读写,把文字显示在textbox中。然后再把输入的信息(在textbox2)写入streamWriter,然后再用NetWorkStream流
传递给客户端。
1.(1)streamWriter.WriteLine(textBox2.Text);//错误:未将对象引用设置到对象的实例。
这个错误应该是sendData()无法调用到Listen()函数里的对象实例造成的,希望能够调用到Listen()
函数里的streamWriter的实例,怎么改啊。
(2)那如果要在streamWriter.WriteLine(textBox2.Text)之前加一个new ,创建一个实例,
那StreamWriter() 的参数应该填什么啊
2. 用streamWriter 接收过以后,是不是还要用netWorkStream接收一下streamWriter的数据,才能传递给
客户啊。