车载无线消息仿真器和rbc无线通信实验

上传人:第*** 文档编号:60832711 上传时间:2018-11-19 格式:PDF 页数:13 大小:178.30KB
返回 下载 相关 举报
车载无线消息仿真器和rbc无线通信实验_第1页
第1页 / 共13页
车载无线消息仿真器和rbc无线通信实验_第2页
第2页 / 共13页
车载无线消息仿真器和rbc无线通信实验_第3页
第3页 / 共13页
车载无线消息仿真器和rbc无线通信实验_第4页
第4页 / 共13页
车载无线消息仿真器和rbc无线通信实验_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《车载无线消息仿真器和rbc无线通信实验》由会员分享,可在线阅读,更多相关《车载无线消息仿真器和rbc无线通信实验(13页珍藏版)》请在金锄头文库上搜索。

1、车载无线消息仿真器和 RBC 无线通信实验 实 验 报 告 班级: 王聪聪 姓名: 通信 1407 学号: 14211019 指导老师: 郑伟 一、一、 实验目的实验目的。 通过车站无线消息仿真器和 RBC 无线通信的实验,深刻理解 RBC 的工作原 理及其相关设备的通信原理。同时学习 C#编程,数据库访问知识,以及网络编 程相关的知识。通过对通信数据的处理,掌握对信息的编码知识,以及 TMGS 与 RBC 的通信信息的掌握。 二、二、 本人负责实验内容本人负责实验内容。 车载 TMGS 无线消息仿真器模拟的软件编程。主要包括了登陆界面的设计与 功能,通过数据库操作实现了记住密码功能,完成了车

2、载 TMGS 无线消息生成系 统与 RBC 平台的模拟通信过程并且生成能够日志文件供线下查询。 三、三、 实验过程实验过程。 按照学长视频教学的过程 1. 安装完相关软件如 vs2010,sql2008,Access 2. 按照登陆界面设计视频讲解完成了车载 TMGS 登陆界面设计及其跳转。 3. 结合数据库操作视频讲解了解了数据库的相关知识并实现了记住密码的功能。 4. 结合网络编程相关视频讲解学习了有关网络编程 socket 通信相关知识并完成 了车载 TMGS 系统与 RBC 平台的通信过程。 5. 观看了文件操作视频,了解了文件操作相关知识,并自主完成了日志文件供 线下查询的功能。 四

3、、四、 实验结果功能展示及说明。实验结果功能展示及说明。 上图为 TMGS 登陆界面,点击确定如下图所示 点击否则下一次登陆不显示用户名密码 成功登陆后 下面开始进行通信 日志文件获取 五、五、 代码展示。代码展示。 Form1.cs: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Form

4、s; using System.IO; namespace 登录界面进入程序 public partial class Form1 : Form 车载 TMGS zcx = new 车载 TMGS(); string username; string password; string isornotrempsd; sql s = new sql(); public Form1() InitializeComponent(); this.ControlBox = false;/使得窗口最大化最小化框消失 /访问数据库读出变量 s.InitalSql(); username = sql.usern

5、ame; password = sql.password; isornotrempsd = sql.isornotrempsd; if (isornotrempsd = “1“) this.textBox1.Text = username; this.textBox2.Text = password; if (isornotrempsd = “0“) this.textBox1.Text = “; this.textBox2.Text = “; private void button1_Click(object sender, EventArgs e) if (this.textBox1.Te

6、xt = username return; if (this.textBox1.Text != username) MessageBox.Show(“用户名错误“); return; if (this.textBox1.Text = username /如果点击 是就将 is.改为 1 else s.alertuspsd(“update table1 set isornotrempsd=0“);/如果点击 否就将 is.改为 0 this.Hide(); zcx.Show(); private void button2_Click(object sender, EventArgs e) App

7、lication.Exit(); private void label2_Click(object sender, EventArgs e) private void Form1_Load(object sender, EventArgs e) 车载 TMGS.cs: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using Sys

8、tem.Windows.Forms; using System.Threading; using System.Net; using System.Net.Sockets; using System.IO; using System.Data.OleDb; namespace 登录界面进入程序 public partial class 车载 TMGS : Form public 车载 TMGS() InitializeComponent(); CheckForIllegalCrossThreadCalls = false; /客户端与服务器之间的连接状态 public bool bConnec

9、ted = false; /监听线程 public Thread tAcceptMsg = null; /用于 socket 通信的 ip 地址和通信端口 public IPEndPoint IPP = null; /socket 通信 public Socket socket = null; /网络访问的基础数据流 public NetworkStream nStream = null; /创建读取器 public TextReader tReader = null; /创建编写器 public TextWriter wReader = null; public FileInfo g_fil

10、eInfo; /*记录文件操作类*/ public StreamWriter g_file; /*记录文件读写类*/ private static string g_filepath; string fsf; string fsnr; private OleDbConnection conn; private OleDbCommand cmd; private OleDbDataReader reader; public void AcceptMessage() string sTemp; while (bConnected) try sTemp = tReader.ReadLine(); i

11、f (sTemp.Length != 0) lock (this) string text = “服务器:“ + sTemp + “n“; richTextBox1.Text = text + richTextBox1.Text; try StringBuilder sb = new StringBuilder(); sb.Append(text); g_file.WriteLine(sb); g_file.Flush(); catch (System.Exception) catch MessageBox.Show(“无法与服务器通信“); socket.Shutdown(SocketShu

12、tdown.Both); socket.Close(); private void 车载 TMGS_FormClosing(object sender, FormClosingEventArgs e) if (MessageBox.Show(“真的要关闭吗“, “询问“, MessageBoxButtons.YesNo) = DialogResult.Yes) Application.Exit(); else return; private void button1_Click(object sender, EventArgs e) try IPP = new IPEndPoint(IPAdd

13、ress.Parse(textBox1.Text), int.Parse(textBox2.Text); socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); socket.Connect(IPP); if (socket.Connected) nStream = new NetworkStream(socket); tReader = new StreamReader(nStream); wReader = new StreamWriter(nStream); tAccept

14、Msg = new Thread(new ThreadStart(this.AcceptMessage); tAcceptMsg.Start(); bConnected = true; button1.Enabled = false; MessageBox.Show(“与服务器成功连接,可以通信了!“); catch MessageBox.Show(“无法与服务器通信!“); string pathName = “TMGS“ + “; DateTime currentTime = new DateTime(); currentTime = DateTime.Now; pathName += “

15、与 RBC 交互信息“ + “记录文件“; if (Directory.Exists(pathName) /如果该目录存在,则罢了 else /如果没有就创建该目录 Directory.CreateDirectory(pathName); pathName += currentTime.Year.ToString() + “年“; /*获取年份*/ pathName += currentTime.Month.ToString() + “月“; /*获取月份*/ pathName += currentTime.Day.ToString() + “日 “; /*获取日*/ pathName += currentTime.Hour.ToString() + “:“; /*获取小时*/ pathName += currentTime.Minute.ToString() + “:“; /*获取分钟*/ pathName += currentTime.Second.ToString(); /*获取秒*/ pathName += “.txt“; g_filepath = pathName; g_fileInfo = new FileInfo(pathName); /*确定文件的名字以及路径*/ if (g_file = null) g_f

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 事务文书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号