计算机网络课程设计报告--利用Socket实现双机通信.docx
《计算机网络课程设计报告--利用Socket实现双机通信.docx》由会员分享,可在线阅读,更多相关《计算机网络课程设计报告--利用Socket实现双机通信.docx(15页珍藏版)》请在优知文库上搜索。
1、课程设计报告20142015学年第一学期课程名称计算机网络设计题目利用Socket实现双机通信三、四、五、目录设计原理。理解TCP状态图。设计过程。流程图。源代码和运行结果。利用JavaSock实现双机通信摘要:SoCket(套接字)是一种基于TCP/IP的编程接口。它采用客户/服务器通信机制,使客户端和服务器端通过SOCket接口在网络上实现连接和数据交换。它提供了一系列系统调用,使用户可以方便地实现TCP和UDP等多种网络协议的通信。它使用户可以在网络协议上工作而不必对该网络协议有非常深入的了解。这样编写的程序可被迅速移植到任何支持Socket的网络系统中去。本文通过主要利用JavaSoc
2、ket来实现双机通信,采用其中的TCP面向连接方式,实现文本数据的交换。并对JaVaSOCket的实现进行简单的分析和讲解,通过本文以达到对Socket的原理又一个较清晰的认识。关使词:套接字、SOCketSerVer类、客户机/服务器模式设计原理1.1 套接字通信套接字(Socket)是网络通信的基本单元操作,又被称作端口,通常用来实现客户方向和服务器的连接。网上的两个程序通过一个双向的通信连接实现数据的交换,在实现双向通信前链路的每一个端都建立一个SoCket,通过对SoCket的读/写操作实现网络通信功能。套接字是网络通信的一个标准。套接字分为以下三种类型:(1)流套接字这是最常用的套接
3、字类型,TCP/IP协议中的TCP协议用此类接口,它提供面向连接的(建立虚电路),无差错的、发送先后顺序一致的,包长度不限和非重复的网络信包传输。(2)数据报套接字TCP/IP协议族中的UDP协议使用此类接口,它是无连接的服务,以独立的信包进行网络传输,信包最大长度为32KB,传输不保证顺序性、可靠性和无重复性,它通常用于单个报文传输或可靠性不重要的场合。(3)原始数据包套接字提供对网络下层通信协议的直接访问,它一般不是提供给普通用户的,主要用于开发新的协议或者用于协议教隐蔽的功能。所有S。Cket通信程序的基本结构都是一样的,主要有创建SOCket、打开连接到SoCket的输入流和输出流、按
4、照一定的协议对SoCkel进行读写操作。关闭SOCket这四个步躲,通过这四个步骤可以完成一般的SOCkel通信。1. 2JavaSockets编程概述用JaVa语言编程实现S。Cket通信,其原理与使用其他语言基本相同,不同之处是:(1)java是跨平台的编程语言,所以用java编写的SoCket通信程序可以工作在所有支持TCP/IP协议和java的软硬件平台上;(2)因为JaVa是面向对象的语言,所以在编程中需要使用一些与SoCket有关的系统类,其中用于实现流Socket的类主要有:InetAddreSS类,Socket类,ServerSocket类。InetAddress类的对象用来保
5、存IP地址,Socket类的对象用来创建Socket通信的客户端,SOCket通信的服务器端则有SerVerSOCket类的对象来实现,用上述几个类就可以很方便的生成用户自己的TCP/IP通信程序。这几个类都属于J包,大部分用来处理网络操作的系统类都包含在这个包中,所以用JAVA编写程序是,一般要在程序开始部分用import语句加载这个包,以便引入这些类。用JAVA语言编写Socket程序的过程就是创建和定义Socket类和ServerSocket类的子类的过程。L3与Sockets有关的Java类(1) InetAddreSS类:用来保存因特网上的IP地址的类,它含有很多成员变量和方法,其中
6、比较常用的有getLocalHost,geIByName和getAlIByName,利用它们都可以创建该类的对象,获得一个JaVa程序操纵、处理的IP地址。例如下面的程序段可以根据主机名获取其IP地址:tryInetAddressremoteOP=InetAddress.getByName();catch(UnknownHostExceptionexcpt)System,err.println(Unknownhost:+excpt);(2) Socket类:用来实现TCP/IP通信的端口套接字类,所有希望通过socket来完成与远程主机进行TCP/IP连接和通信的程序,都必须创建一个SOCke
7、t类的对象。这个类对象的作用首先是根据远程主机的IP地址和端口号在本地主机创建一个与远程主机的联接;其次,在连接建立后,本地主机程序就可以使用这个类对象提供的输入/输出通道与远程主机实现通信。当一个s。Cket被创建时,它所指定的连接也将同时被建立并打开,若连接成功,调用这个socket对象的有关方法就可以实现与远程主机的读写通信操作;若连接失败,则构造函数会抛出例外,表示没有成功创建对象。(3) ServerSocket类它是java用来实现TCP/IP通信服务器端程序的主要机制。当一个ServerSocket对象被创建时,程序在本机的指定端口处提供服务并开始监听可能的来自客户端的服务请求。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机网络 课程设计 报告 利用 Socket 实现 双机 通信