共6 页 第1 页 1 数学与计算机学院 计算机网络 实验报告 年级 学号 姓名 成绩 专业 网络工程 实验地点 指导教师 实验项目 socket点对点聊天工具 实验日期 2012-5-12 一、 实验目的 通过本实验熟悉和掌握 socket 编程的基本理论和方法。掌握给予 TCP 的工作原理以及 socket 编程的一般方法,能够编写简单的点对点网络聊天应用程序。 二、 实验原理 在 Visu al Stu dio2005 的运行环境下,用 c#语言编写,socket套接字可实现网络的连接和数据在两台电脑间的相互传输。运用相应的包可实现字体和颜色的改变。利用线程对程序进行控制。 三、 实验要求 可进行点对点的聊天,要求字可以进行颜色和字体的改变。可通过使用 socket 套接字进行两台电脑的连接与数据传输。 四、 实验步骤、结果(程序+注释+截图)及分析 共6 页 第2 页 2 1 、定义一些全局变量,控制程序的执行,代码如下: private Socket socket;//定义套接字 private Thread thread1;//定义线程 private IPAddress ip = IPAddress.Parse("127.0.0.1");//定义IP地址,并给其一个初始值 2、与客户端进行监听,代码如下: try { ip = IPAddress .Parse(this.tb_IP.Text); // 输入IP地址检查格式是否正确 } catch { MessageBox.Show("地址格式不对,请重新输入!"); return; } try { if (tb_port.Text == "") //对输入的端口号进行检查,看其是否符合要求 { MessageBox.Show("端口号不可为空,请输入端口号!"); return; } try { Convert.ToInt32(tb_port.Text); } catch { MessageBox.Show("端口号输入错误,请仔细查看!"); return; } if (Convert.ToInt32(tb_port.Text) > 65535 && Convert.ToInt32(tb_port.Text) < 0) { MessageBox.Show("端口号范围:0-65535"); return; } //tmp2.Text = ""; //tmp1.Text = ""; //tmp.Text = ""; this.btn_start.Enabled = false; 共 6 页 第 3 页 3 serverl = new IPEndPoint(ip, Int32.Parse(this.tb_port.Text)); socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); socket.Bind(serverl); // 输入IP和端口号开始监听 socket.Listen(10); clientSocket = socket.Accept(); this.lb_state.Items.Add("与客户" + clientSocket.RemoteEndPoint.ToString()...