文档详情

客户端程序代码.docx

发布:2017-05-26约3.97千字共4页下载文档
文本预览下载声明
C/S客户端程序public partial class student : Form{ // 定义类变量private Thread serverThread;//定义服务器线程 private Thread recvThread; private Thread sendThread; private TcpClient my_tcpClient; //定义客户tcp对象 private NetworkStream networkstream; //定义网络流I/O对象 private StreamReader streamreader; private StreamWriter streamwriter; //请求连接方法private void Connection() //定义客户端连接服务器函数 { try {IPAddress ipaddress = IPAddress.Parse(text_ip.Text);// 文本框内容赋予变量ipaddressInt32 port = Int32.Parse(text_port.Text); //有效数据16位整数 my_tcpClient = new TcpClient(); //实例化请求连接对象 my_tcpClient.Connect(ipaddress,port);//连接远程主机(教师机)//一般应根据对象的属性connected==true判断是否连接好 listBox1.Items.Add(学生机成功连接上教师机!!); button_send.Enabled = true; button_stop.Enabled = true; button_up.Enabled = false;networkstream = my_tcpClient.GetStream(); streamreader = new StreamReader(networkstream); streamwriter = new StreamWriter(networkstream); recvThread = new Thread(new ThreadStart(RecvData));//蓝字体是为RecvData函数定义委托 recvThread.Start(); } catch (Exception exc) { MessageBox.Show(exc.Message, 学生机提示!); } } private void RecvData()//定义接收数据函数 { string msg = streamreader.ReadLine(); //从当前流中读取一行字符并将数据作为字符串返回 while (!msg.Equals(exit)) // 如果接收到的教师机信息不是exit,就不断接收信息 { listBox1.Items.Add(教师回答: + msg); msg = streamreader.ReadLine(); } button_up.Enabled = true; button_stop.Enabled = false; button_send.Enabled = false; listBox1.Items.Add(教师机关闭!);ReleaseResource(); //释放资源和所使用的对象 }private void Send_data()//定义发送数据函数(方法) { if (text_msg.Text != ) { listBox1.Items.A
显示全部
相似文档