JAVATCPIPSocket网络通信编程探究.docx

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JAVA TCP/IP Socket网络通信编程探究 摘要:Java最初是一种网络编程语言网络通信是 Java语言的优势,在程序开发中利用TCP/IP通信协议则能 实现C/S模式下的点对点的网络通信。该文主要研究在C/S 模式下使用Java Socket实现TCP/IP网络程序框架及网络 通信的程序实现。 关键词:网络通信;Tcp/IP; Socket 中图分类号:TP393文献标识码:A文章编号: 1009-3044 (2013) 35-8116-02 1 C/S 中 TCP/IP 与 Socket 1 TCP/IP协议的优点 每种网络协议都有自己的优点,但是只有TCP/IP允许 与Internet完全的连接o TCP/IP是在60年代由麻省理工学 院开发的,即便网络遭到了大部分破坏,TCP/IP仍然能够维 持有效的通信。在所有的0S中都集成了 TCP/IP协议,TCP/IP 是实现网际互联的基础,同时TCP/IP协议也具备了可扩展 性和可靠性的需求。在现今的网络环境下,能有效地保证点 对点信息的传输和安全是网络应用的需要。 1. 2 Socket的作用 Socket通常称作”套接字”,应用程序通常通过”套接 字”向网络发出请求或应答网络请求,Socket是面向C/S模 型而设计的,针对客户和服务器程序提供不同的socket系 统调用。客户随机申请一个socket (相当于在电话系统中 一个想打电话的人可以在任何一台入网电话上拨号呼叫), 系统为任何有联网需求及信息需求的客户分配一个socket 号;服务器拥有全局socket号,客户端socket号相当于 电话系统中的各个公共电话,而服务器端相当于总机电话。 1. 3 Socket实现网络通信的基本原理 TCP/IP系统中的端口号是一个16位的数字,它的范围 是0?65535。客户和服务器必须事先约定所使用的端口。在 C/S开发模式中,网络中的各个节点都有独有的IP地址用来 表示各节点的身份,服务器预留端口作为链接的接口,而 Socket通过在它们之间两两建立链路的方式,来实现网络中 点对点的通信。 Socket分为客户端Socket对象及ServerSocket类对 象,它们类库位于java, net包中。ServerSocket用于服务 器端,Socket是建立网络连接时使用的。在连接成功时,应 用程序两端都会产生一个Socket实例,通过这个实例,完 成所需的会话。对于一个网络连接来说,套接字是平等的, 并没有差别,不因为在服务器端或在客户端而产生不同级 别。不管是Socket还是ServerSocket它们的工作都是通过 Java语言提供的Socketlmpl接口及其方法来完成网络编程 所需的网络通信功能。这套API使Java程序员不用考虑复 杂的网络协议以及底层的数据传输方式,而直接用面向对象 的思想来实现网络传输。 2建立C/S基于TCP/IP Socket通信模型 1客户端Socket通信过程 Socket是网络上运行的两个程序间双向通信的一端,它 既可以接受请求,也可以发送请求,利用它可以较为方便地 编写网络上数据的传递。在Java中,利用Socket类的方法, 就可以实现两台计算机之间的通信。客户端Socket通信整 个过程主要有4个阶段:(1)请求阶段;(2)建立连接阶段; (3)通信阶段;(4)关闭阶段。 2.2 TCP Socket C/S模型及工作流程 TCP/IP本身是一个工业标准,在C/S模式中,主要通过 三次握手,实现通信: 1 ):主机A发送位码为syn=l ,随机产生seq number=1234567的数据包到服务器,主机B由SYN=1知道, A要求建立联机; 2) :主机B收到请求后要确认联机信息,向A发送ack number^ (主机 A 的 seq+1), syn=l, ack=l,随机产生 seq=7654321 的包; 3) :主机A收到后检查ack number是否正确,即第一 次发送的seq number+1,以及位码ack是否为1,若正确, 主机A会再发送ack number=(主机B的seq+1), ack=l, 主机B收到后确认seq值与ack=l则连接建立成功; 图1 C/S程序工作流程图 3程序实现 1 C/S模型下基本程序框架 3. 1. 1客户端Socket的实现 客户端通过Socket连接服务器,主要过程经过4个阶 段,具体代码如下: Socket PersonalConnect^new Socket ( “服务器 IP” , PORT); ;//socket、 bufferedReader 及 PrintStream 只寸象 作为线程成员 PersonalConnect .close (); 3. 1

文档评论(0)

ggkkppp + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档