编写程序模拟CSMA/CD协议的运行过程?
题目内容:编写程序模拟CSMA/CD协议的运行过程。设计要求:(1-6必须实现,7由学有余力的同学可以选做)。
1. 用两个线程a和b来模拟CSMA/CD上的两台主机。
2. 用一个全局共享变量Bus来模拟总线(将其初始化为'\0',并且总线等于'\0'时表示总线空闲 )。
3. 两个子线程向总线发送自己的数据。数据用该线程的线程号进行模拟,发送数据用线程号和Bus的“或”操作进行模拟。
4. 每台主机必须向总线上成功发送n次数据(n交互输入),如果其中某次数据发送失败,则该线程结束。
5. 发送流程必须遵循CSMA/CD协议。随机延迟算法中的冲突窗口m(m交互输入)。
6. 模拟程序必须有每个进程发送过程的显示,如发送成功以及发送成功的次数,发送失败以及该次发送中冲突的次数等。
7. 画一个界面,把协议内部运行的过程能在界面上显示出来。