计算机网络综合实训——网络程序设计

这篇具有很好参考价值的文章主要介绍了计算机网络综合实训——网络程序设计。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

计算机网络综合实训——网络程序设计
计算机网络综合实训
网络程序设计

作者姓名
学号
所在院系 计算机与信息工程学院
学科专业名称 计算机科学与技术
导师及职称 柯宗武 教授
提交时间 2023/05/28

仿qq聊天的设计与实现
(指导教师,柯宗武 教授)
(湖北师范大学计算机与信息工程学院 中国 黄石 435002)

一、实训目的
编写一个类似于QQ聊天的网络程序。通过仿qq聊天室的设计与实现将计算机网络应用到实处,从而更好的理解和掌握计算机网络。
二、相关技术
1、配置环境
操作系统:windows11
编程语言:java jdk11
编译器:IDEA
2、JAVA实现互动聊天程序
1、用JFrame制作客户端和服务端的界面
2、使用Socket网络编程TCP协议完成数据传输
3、监听发送按钮的点击事件,实现点击发送按钮发送消息
4、监听键盘点击事件,实现点击回车键发送消息
3、Socket
Socket(套接字)是通信的基石,是支持TCP/IP协议的路通信的基本操作单元。可以将套接字看作不同主机间的进程进行双间通信的端点,它构成了单个主机内及整个网络间的编程界面。套接字存在于通信域中,通信域是为了处理一般的线程通过套接字通信而引进的一种抽象概念。套接字通常和同一个域中的套接字交换数据(数据交换也可能穿越域的界限,但这时一定要执行某种解释程序),各种进程使用这个相同的域互相之间用Internet协议簇来进行通信。Socket(套接字)可以看成是两个网络应用程序进行通信时,各自通信连接中的端点,这是一个逻辑上的概念。它是网络环境中进程间通信的API(应用程序编程接口),也是可以被命名和寻址的通信端点,使用中的每一个套接字都有其类型和一个与之相连进程。通信时其中一个网络应用程序将要传输的一段信息写入它所在主机的Socket(套接字)中,该Socket(套接字)通过与网络接口卡(NIC)相连的传输介质将这段信息送到另外一台主机的Socket(套接字)中,使对方能够接收到这段信息。 Socket(套接字)是由IP地址和端口结合的,提供向应用层进程传送数据包的机制。
4、TCP协议
TCP是面向连接的运输层协议。应用程序在使用TCP协议之前,必须先建立TCP连接。在传送数据完毕后,必须释放已经建立的TCP连接每一条TCP连接只能有两个端点,每一条TCP连接只能是点对点的(一对一)TCP 提供可靠交付的服务。通过TCP 连接传送的数据,无差错、不丢失、不重复,并且按序到达TCP提供全双工通信。TCP 允许通信双方的应用进程在任何时候都能发送数据。TCP 连接的两端都设有发送缓存和接受缓存,用来临时存放双向通信的数据面向字节流。TCP中的“流”指的是流入到进程或从进程流出的字节序列。
计算机网络综合实训——网络程序设计
图2-1 TCP通信

三、需求分析
对于程序的设计过程中可行性分析是重中之重,优秀的分析可以极大的节约成本,为开发的顺利铺垫坚实的道路。因此要对系统分别进行技术可行性、经济可行性全面分析。
1.技术可行性
通过系统设计相关技术分析,多方面能够反映了技术的可行性。另外,即时通讯系统的开发已经很多的实例,技术的要求度并不高,各类进行开发的软件获取并不困难,所以该项目成功开发是可行的。
2.经济可行性
从经济方面观察,该实训经济,并且对于开发初学者来说是有一定参考价值的,所以通过以上两方面来看这一点是可行的。
3.项目概述
该项目是一个初步项目,实现小型聊天室,用户可以自己注册账户并且登录,账户数据储存在数据库中,登录完成后便进入聊天界面,聊天功能是基于websocket实现的,WebSocket协议是基于TCP的一种新的网络协议。它实现了浏览器与服务器全双工(full-duplex)通信——允许服务器主动发送信息给客户端。即实现了全双工通信。
四、详细设计
本系统运用socket开发技术作为构建信息传递的通道,只需在IDEA JAVA环境中开发程序即可。完成界面搭建,要实现互动聊天,然后需要两个程序:一个服务端(Server),一个客户端(Client),搭建基本一致。
1、部分代码


```java
//Server
public static void main(String[] args)throws Exception{
    Socket socket=new Socket("127.0.0.1",8899);
    Client client=new Client();
    OutputStream out=socket.getOutputStream();
    BufferedReader reader=new BufferedReader(new InputStreamReader(socket.getInputStream()));
    writer=new PrintWriter(out,true);
//Client
public static void main(String[] args)throws Exception{
    Server server=new Server();
    ServerSocket serverSocket=new ServerSocket(8899);
    System.out.println("Starting listening...");
    while (true){
        Socket socket=serverSocket.accept();
        //获取客户端主机名
        InetAddress address=socket.getInetAddress();
        String name=address.getLocalHost().getHostName();
        System.out.println(name+"已连接");
        BufferedReader reader=new BufferedReader(new InputStreamReader(socket.getInputStream()));
        writer=new PrintStream(socket.getOutputStream(),true);

2、演示效果
计算机网络综合实训——网络程序设计
计算机网络综合实训——网络程序设计
计算机网络综合实训——网络程序设计
计算机网络综合实训——网络程序设计

五、实验总结
1、websocket的端口一定要和tomcat的端口一致!否则websocket不能正常启动!
2、所有依赖的包一定放入tomcat的lib包中,否则会找不到依赖的包!
3、经过此处实训,更好地掌握学会计算机网络相关知识。回顾整个过程,我感觉对于以往所学的知识又有了新的体会。

.文章来源地址https://www.toymoban.com/news/detail-497864.html

到了这里,关于计算机网络综合实训——网络程序设计的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 计算机网络综合大实验验优(含抓包、两届实验对比)

    第一届智科牛马人的计网实验验优报告: 实验需要组队,三人一组好像,也可以一人两人,排名在前面的人验优更容易,同时需要操作四台电脑,跟着实验指导书,不懂的问问老师和身边同学,一天从早到晚可以搞定,开窍也可以一上午或者一下午搞定。 前面画的拓扑图越

    2024年02月11日
    浏览(43)
  • 【计算机网络】期末课程设计 ENSP组网综合实验(附工程文件)

    目录 前言 前期准备 组网要求 开始组网 分公司1 分公司2 核心交换机配置 实现内部服务器的搭建 acl_deny部分用户与服务器出口 配置出口防火墙 (修正)防火墙实现上网限制 dhcp分配ip 结语 本次的计网课程设计为河南某工程学院课程的实验部分,没办法课程太赶了中间完全没

    2024年02月05日
    浏览(49)
  • 软考系分之计算机网络规划设计、综合布线、RAID和网络存储等

      本篇重点介绍计算机网络中的网络规划设计、综合布线、RAID和网络存储。   三层模型分为核心层、汇聚层和接入层,接入层主要负责用户接入相关事宜,汇聚层主要负责用户接入后到核心业务之间的负载路由等等,核心层主要负责互联网不同业务之间高速的数据传送

    2024年01月23日
    浏览(45)
  • 【计算机网络】思科实验(11):综合实验作业之局域网与路由协议

    【计算机网络】思科实验(1):交换机的VLAN划分 【计算机网络】思科实验(2):交换机间的VLAN通信 【计算机网络】思科实验(3):使用三层交换机实现跨VLAN间的通信 【计算机网络】思科实验(4):综合实验作业之办公室的跨VLAN通信 【计算机网络】思科实验(5):单臂路由跨VLAN通信

    2024年02月04日
    浏览(57)
  • 计算机网络期末复习简答题、综合题、实验题答案整理汇总详细(持续更新中)

    简答题只背标黄的部分!!综合题和实验题全看!!! 1. TCP/IP 与 OSI 相结合的五层体系结构将计算机网络划分成哪几个层次?各层的主要功能是什么 第一层,物理层:物理层的任务就是透明地传送比特流。(注意:传递信息的物理媒体,如双绞线、同轴电缆、光缆等,是在

    2024年02月08日
    浏览(39)
  • 计算机网络----计算机网络的基础

    目录 一.计算机网络的相关概念 二.计算机网络的功能 三.计算机网络的发展 四.计算机网络的组成 五.计算机网络的分类 六.计算机的性能指标 1.速率 2.带宽 3.吞吐量 4.时延 5.时延带宽积 6.往返时延RTT 7.利用率 七.计算机的分层结构 八.ISO/OSI参考模型 九.OSI参考模型与TCP/IP参考模

    2024年03月17日
    浏览(47)
  • 【计算机网络八股】计算机网络(一)

    计算机网络体系可以大致分为一下三种,OSI七层模型、TCP/IP四层模型和五层模型。 OSI七层模型:大而全,但是比较复杂、而且是先有了理论模型,没有实际应用。 TCP/IP四层模型:是由实际应用发展总结出来的,从实质上讲,TCP/IP只有最上面三层,最下面一层没有什么具体内

    2024年02月11日
    浏览(46)
  • 计算机网络——计算机网络体系结构

    1.1 概念 一般认为,计算机网络是一个将分散的,具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享的信息传递的系统,简而言之,计算机网络就是一些 互联的,自治的计算机系统的集合 1.2 组成 (1)从组成部分:由 硬件,软件,

    2024年02月15日
    浏览(51)
  • 第一章 计算机网络概述【计算机网络】

    2023-3-26 17:07:26 以下内容源自《【计算机网络】》 仅供学习交流使用 计算机网络 计算机网络(第8版) 谢希仁 编著 1.2.1 网络的网络 计算机网络〈简称为网络)由若干结点(node) R和连接这些结点的链路(link)组成。 1.2.2互联网基础结构发展的三个阶段 请读者注意以下两个意思相

    2024年02月13日
    浏览(48)
  • 【计算机网络原理】第一章:计算机网络概述

    1、计算机网络的诞生 从技术范畴来看,计算机网络是计算机技术与通信技术相互融合的产物。 2、计算机网络的定义 计算机网络是互连的、自治的计算机的集合 1)自治: 互连的计算机系统彼此独立,不存在主从或者控制与被控制的关系。 2)互连: 利用通信链路连接相互独立

    2024年04月08日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包