java实现点对点通信.docVIP

  • 57
  • 0
  • 约8.71千字
  • 约 13页
  • 2017-06-04 发布于河南
  • 举报
java实现点对点通信

用java实现的点对点通信程序的设计 通信0903班 学号: 姓名: 指导老师:王国才、杨政宇 一 设计目标: 1.使用Java高级面向对象编程语言编写一个网络聊天程序。 2. 理解Socket的基本概念工作原理,掌握Socket的建立、监听、连接、发送数据和接收数据 3.环境要求:Windows95/98/2000/XP,WinSocke 4.能将键盘上输入的数据发送到另一台计算机上; 5.能将接收到的数据显示到屏幕窗口内; 6.类似于一般的主流网络即时聊天程序为了简化程序和系统结构,将 “客户端——服务器——客户端”的数据传输方式改为“客户端——服务器”的模式。 7.程序应该具有图形界面,要具备聊天程序的基本雏形。 二 设计原理与方法 1. TCP/IP协议的介绍 TCP/IP(传输控制协议/网际协议)是互联网中的基本通信语言或协议。在私网中,它也被用作通信协议。当你直接网络连接时,你的计算机应提供一个TCP/IP程序的副本,此时接收你所发送的信息的计算机也应有一个TCP/IP程序的副本。   TCP/IP是一个两层的程序。高层为传输控制协议,它负责聚集信息或把文件拆分成更小的包。这些包通过网络传送到接收端的TCP层,接收端的TCP层把包还原为原始文件。低层是网际协议,它处理每个包的地址部分,使这些包正确的到达目的地。网络上的网关计算机根据信息的地址来进行路由选择。即使来自同一文件的分包路由也有可能不同,但最后会在目的地汇合。 TCP/IP使用客户端/服务器模式进行通信。TCP/IP通信是点对点的,意思是通信是网络中的一台主机与另一台主机之间的。TCP/IP与上层应用程序之间可以说是“没有国籍的”,因为每个客户请求都被看做是与上一个请求无关的。正是它们之间的“无国籍的”释放了网络路径,才是每个人都可以连续不断的使用网络。 许多用户熟悉使用TCP/IP协议的高层应用协议。包括万维网的超文本传输协议(HTTP),文件传输协议(FTP),远程网络访问协议(Telnet)和简单邮件传输协议(SMTP)。这些协议通常和TCP/IP协议打包在一起。 使用模拟电话调制解调器连接网络的个人电脑通常是使用串行线路接口协议(SLIP)和点对点协议(P2P)。这些协议压缩IP包后通过拨号电话线发送到对方的调制解调器中。 与TCP/IP协议相关的协议还包括用户数据报协议(UDP),它代替TCP/IP协议来达到特殊的目的。其他协议是网络主机用来交换路由信息的,包括Internet控制信息协议(ICMP),内部网关协议(IGP),外部网关协议(EGP),边界网关协议(BGP)。socket协议1).什么是socket.Socket程序的工作过程: 1、建立Socket连接:在通信开始之前由通信双方确认身份,建立一条专用的虚拟连接通道。 2、数据通信:利用虚拟连接通道传送数据信息进行通道。 3、关闭:通信结束时,再将所建的虚拟连接拆除。 具体如下: 服务器 三次握手: 第一次握手:原主机发送一个带有本次连接的序号的请求的一个数据帧 第二次握手:目的主机收到请求后,如果同意连接,则发回一个带有一个本次连接序号和源端机连接序列号的确认。 第三此握手:源端机收到含有两次初始序列号的应答后,在向目的主机发送一个带有两次连接的序列号的确认。 具体过程如下: (3).如何开发一个Server-Client模型的程序 开发原理: 服务器,使用ServerSocket监听指定的端口,端口可以随意指定(由于1024以下的端口通常属于保留端口,在一些操作系统中不可以随意使用,所以建议使用大于1024的端口),等待客户连接请求,客户连接后,会话产生;在完成会话后,关闭连接。 客户端,使用Socket对网络上某一个服务器的某一个端口发出连接请求,一旦连接成功,打开会话;会话完成后,关闭Socket。客户端不需要指定打开的端口,通常临时的、动态的分配一个1024以上的端口。 Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。要学Internet上的TCP/IP网络编程,必须理解Socket接口。 Socket接口设计者最先是将接口放在Unix操作系统里面的。如果了解Unix系统的输入和输出的话,就很容易了解Socket了。网络的Socket数据传输是一种特殊的I/O,Socket也是一种文件描述符。Socket也具有一个类似于打开文件的函数调用Socket(),该函数返回一个整型的Socket描述符,随后的连接建立、数据传输等操作都是通过该Socket实现的。Java,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台的总称。用Java实现

文档评论(0)

1亿VIP精品文档

相关文档