求模拟CSMA/CD通讯的代码,急
哪位大虾给个模拟CSMA/CD通信的代码?(用c++编写)main函数里要实现:
//提示用户输入主机数、包个数、单倍传播时延;
//新建主机;
//启动所有主机线程;
//等待所有主机线程结束;
//停止所有主机线程;
实验内容
设计CSMA/CD程序流程图
编写程序(C或Java)模拟Ethernet帧的发送过程
用线程模拟Ethernet网上的主机
用一个变量Bus来模拟总线
各线程向总线发送自己的数据(发送数据时,修改总线的状态值来模拟,并输出提示信息)
每台主机须向总线发送若干个数据包(采用二进制指数退避算法,主机数及数据包数通过键盘输入指定)
发送流程遵循CSMA/CD(争用期由键盘输入),发送过程,根据相应情况在屏幕 上打印提示信息或写入文件
开始发送: Host ID ,start to send packet ID;
信道非空闲 The bus is busy!
碰撞: “Host ID ,packet ID send collision No.“
发送成功: “Host,ID,packet ID send success,collision ?times”
发送失败:“Host,ID ,packet ID send failure,”.