欢迎来到毕设资料网! | 帮助中心 毕设资料交流与分享平台
毕设资料网
全部分类
  • 毕业设计>
  • 毕业论文>
  • 外文翻译>
  • 课程设计>
  • 实习报告>
  • 相关资料>
  • ImageVerifierCode 换一换
    首页 毕设资料网 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    网络编程课程设计报告--模拟火车售票退票系统

    • 资源ID:1400113       资源大小:363.50KB        全文页数:21页
    • 资源格式: DOC        下载积分:100金币
    快捷下载 游客一键下载
    账号登录下载
    三方登录下载: QQ登录
    下载资源需要100金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

    网络编程课程设计报告--模拟火车售票退票系统

    1、Java 网络编程报告网络编程报告 姓名:姓名: 学号:学号: 题目:题目: 模拟火车售票退票系统模拟火车售票退票系统 一一、作业要求、作业要求: 模拟火车售票退票系统实现一个服务器为多个客户服务,要求 1、服务器用线程池,线程容量为 4,座位数为 60 个,即 01-60 号座. 2、客户通过网络发送请求可以退票可以买票,先来先服务,买票还 是退票由随机数决定, 退票必须是该用户买过的有效票, 先买的票先 退。若退票时该用户已没有买到的票,则改为买票。若服务器票已售 完,则需等待,先来先服务,哪个客户先来,服务器将先为哪个客户 服务。 3、服务器每次接收一个客户请求需打印该客户的端口号、IP

    2、 和该用 户是买票还是退票,处理该请求之前目前剩余的票所有座号,处理之 后剩余的座号也要打印出来, 并延迟一个随机处理时间, 以模拟对每 个客户处理的时间不同。将处理结果发给客户。 4、客户收到结果后打印到屏幕。 5、注意资源共享的问题, 适当时可用同步代码,不允许用同步方法。 注意线程之间的协作。 演示时开放 4-5 个用户,并演示一次退票无效的情况(即要退的票在 服务器中还没有卖出去,要求 2 是正常情况) 二、二、主要设计思路:主要设计思路: 1、该程序包括以下几个类: 1) 、) 、EchoClient.java 2) 、) 、EchoServer.java 3) 、) 、Node.j

    3、ava 定义了线性表的一个节点的结构,并对节点进行初始化 4) 、) 、LList.java 接口类,包含以下几个方法: boolean isEmpty(); / 判断线性表是否为空 int length(); / 返回线性表长度 T get(int i); / 返回第i(i0)个元素 void insert(int i,T x); / 插入x作为第i个元素 void insert1(T x); /按顺序插入一个数到链表中 T remove(int i); / 删除第i个元素并返回被删对象 void append(T x); / 在线性表最后插入 x 元素 5) 、) 、SingleLinkL

    4、ist.java 实现接口 LList。 6) 、) 、Customer.java 定义了choise,cus_tickets两个属性和choice()方法,其中 choise是一个随机产生的0或1,用来决定客户买票或退票。 cus_list 是一个线性表,用来存储客户所买到的所有票。 7) 、) 、Tickets.java 定义了 number 和 list 两个属性,其中 number 用来表示服务器售 出的票号,list 是一个线性表,用来存储剩余火车票。包含了售票 票方法 sell()和退票方法 return_ticket()。 2、思路及流程图 1) 、首先客户端通过调用 Custo

    5、mer 类的 choice()方法,由 choice()方法来决定客户是买票还是退票。若 choise=1,则客户 买票,若 choise=0,则客户退票。流程图如下: 2)、若客户买票,则通过输出流将买票信息发送给服务器端。若客 户退票,则通过“customer.cus_list.isEmpty()”这个语句判断 客户是否有票可退,若客户有票可退,则通过输出流将退票信息及所 退票号发送给服务器端;若客户无票可退,则改为买票,通过输出流 将信息发送给服务器端。流程图如下: 客户买票 choice=(int)(Math.random()*2) choise=1 客户退票票 是 否 3)、服务器端

    6、通过输入流接收客户端的信息,接收信息后,随机产 生一个时间,线程休眠,模拟网络延迟。然后判断客户是买票还是退 票,若是买票,则调用 Tickets 类中的 sell()方法进行售票处理; 若是退票,则调用 Tickets 类中的 return_ticket()方法进行退票 处理。流程图如下: 客户买票 发送买票信息给服务器端 否 是 客户退票 客户拥有的票 是否为空 发送退票信息给服务器端 发送买票信息给服务器端 否 是 接收客户端的信息 线程休眠一段时间 客户是否买票 tickets.sell() Tickets.return _ticket() 4) 、若客户是买票的,则通过“list.isEmpty()”判断是否有票可 售,若有票可售,则进行售票处理(即将 list 线性表中的第一个节 点删除,表示此票已售出) ,处理后将信息反馈给客户;客户收到服 务器端的信息后,将反馈信息打印输出,同时将所买到的票添加到 cus


    注意事项

    本文(网络编程课程设计报告--模拟火车售票退票系统)为本站会员(毕***)主动上传,毕设资料网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请联系网站客服QQ:540560583,我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们
    本站所有资料均属于原创者所有,仅提供参考和学习交流之用,请勿用做其他用途,转载必究!如有侵犯您的权利请联系本站,一经查实我们会立即删除相关内容!
    copyright@ 2008-2025 毕设资料网所有
    联系QQ:540560583