



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、服务器端程序 public partial class teacher : Form / 定义对象变量 /定义服务器线程对象 private Thread serverThread; private Thread recvThread; privateTcpListenertch_TcpListener; privateNetworkStreamnetworkstream; privateStreamReaderstreamreader; privateStreamWriterstreamwriter; private Socket socketforclient; private void
2、Listen)/教师机监听方法定义 try Int32 port = Int32.Parse(text_port.Text); /将文本框输入的端口号转换后赋予变量 port IPAddressipaddress = (IPAddress)Dns.GetHostAddresses(Dns.GetHostName().GetValue(0); /获取主机 IP 地址 TcpListenertch_TcpListener = new TcpListener(ipaddress, port); /实例化监听对象 tch_Tc pListener.Start(10);/开始侦听,并发接收数为 10 l
3、istBoxl.ltems.AddC 服务已启动!); button_up.Enabled = false; button_stop.Enabled = true; button_send.Enabled = true; socketforclient = tch_Tc pListener.Acce ptSocket()返/ 回可以用以处理链接的 Socket 实例 if(socketforclient.Connected)/ 如果连接成功 listBox1.Items.Add(教师机成功连接上学生机!); networkstream = new NetworkStream(socketfor
4、client); /实例化流对象 streamreader = new StreamReader(networkstream); streamwriter = new StreamWriter(networkstream); /接收进程开始接收数据 recvThread = new Thread(new ThreadStart(RecvData); /启动接收进程 recvThread.Start(); catch (Exception exc) MessageBox.Show(exc.Message教师机提示!); private void RecvData() /接收信息方法 string
5、 msg = streamreader.ReadLine(); 从/ 当前流中读取一行字符并将数据作为字符串返回 while (!msg.Equals(exit) / 如果接收到的学生机信息不是 exit ,就不断接收信息 listBoxl.ltems.AddC 学生提问:+ msg ); msg = streamreader.ReadLine(); button_up.Enabled = true; button_stop.Enabled = false; button_send.Enabled = false; listBoxl.ltems.AddC 学生机已经关闭!); listBox1
6、.ltems.Add(教师机关闭!); ReleaseResource();/调用释放资源方法 private void Send_data() /发送数据方法 if (text_tech.Text != ) listBox1.Items.Add(老师说:+ text_tech.Text); streamwriter.WriteLine(text_tech.Text); /向当前的数据流写入一行字符串,发送数据。 streamwriter.Flush();/ 刷新当前数据流中的数据 text_tech.Text = ; else MessageBox.Show(发送信息不能为空,教师机提示);
7、 private void ReleaseResource() / 释放资源方法,关闭所有对象,关闭连接 networkstream.Close(); streamwriter.Close(); streamreader.Close(); socketforclientShutdown(SocketShutdown.Both/SocketShutdown枚举类型: /SocketShutdown.Send禁止 Socket发送数据; /SocketShutdown.Receiv禁止 Socket接收数据; /SocketShutdown.Both禁止 Socket接收和发送数据; socket
8、forclient.Close(); /教师机的构造函数,系统自动产生的 public teacher() lnitializeComponent(); System.Windows.Forms.Control.CheckForlllegalCrossThreadCalls = false; /发送按钮不可用 private void Form1_Load(object sender, EventArgs e) button_send.Enabled = false; button_stop.Enabled = false; private void button_up_Click(objec
9、t sender, EventArgs e) serverThread = new Thread(new ThreadStart(Listen); /建立一个线程,调用监听方法 serverThread.StartO;II new ThreadStart(Listen):为 Listen 建立一个委托 private void button_stop_Click(object sender, EventArgs e) if (button_stop.Enabled = true) 但不允许发送信息 II 停止服务后,允许启动服务, /要退出时,发送 exit 信息给学生机 /刷新发送缓冲区 b
10、utton_up.Enabled = true; button_stop.Enabled = false; button_send.Enabled = false; string Exit_msg = exit; streamwriter.WriteLine(Exit_msg); streamwriter.Flush(); listBox1.Items.Add(教 师机关闭!); /停止接收线程 /释放资源,关闭所使用的对象 recvThread.Abort(); ReleaseResource(); else button_up.Enabled = true; button_stop.Ena
11、bled = false; button_send.Enabled = false; listBox1.ltems.Add(教师机关闭!); tch_Tc pListener.Sto pO/终止与客户机的连接 serverThread.Abort(); private void button_send_Click(object sender, EventArgs e) Thread Send_Thread = new Thread(new ThreadStart(Send_data); Send_Thread.Start(); new ThreadStart(Send_data):为 Send_data函数建立一个委
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《生命是一场永不止息的旅程》
- 综合知识与技能培训课件
- 索道机电知识培训课件
- 2024年食品安全员考试复习全面指导:试题及答案
- 鱼塘承包协议合同书二零二五年
- 2024年福建事业单位考试的目标管理试题及答案
- 二零二五版商铺租赁合同终止
- 房地产交换合同
- 电力公司施工安全合同书二零二五年
- 2024年辅导员考试相关话题及试题及答案
- 四川省南充市2025届高三下学期高考适应性考试化学试题(二诊)(原卷版+解析版)
- 2025-2030中国融资租赁行业发展分析与投资战略研究报告
- 厦门医学院专职辅导员招聘真题2024
- 2025年“铸牢中华民族共同体意识”应知应会知识竞测试赛题
- 2025年长春职业技术学院单招职业技能考试题库带答案
- 2025年河南农业职业学院单招职业倾向性测试题库必考题
- 网格员矛盾纠纷培训
- 2025年河南经贸职业学院单招职业技能测试题库学生专用
- 2024年襄阳汽车职业技术学院高职单招职业技能测验历年参考题库(频考版)含答案解析
- 国家开放大学《课程与教学论》形考任务1-4参考答案
- 2024年江苏省肿瘤医院高层次卫技人才招聘笔试历年参考题库频考点附带答案
评论
0/150
提交评论