- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
- HIV感染窗口期和其检测技术进展.docx
- HIV职业暴露的评估和预防.docx
- HI井场场地平整及入场道路工程试验检测计划.docx
- HJSMC管理培训计划.docx
- HJSMC人力资源部工作计划.docx
- HJSMC人力资源部工作总结.docx
- HJ物业工程管理作业手册.docx
- HL1609级联LED驱动IC应用说明书.docx
- HLA分型技术在骨髓库上海分库高分辨检测工作中的初步应用.docx
- HMGB1基因多态性和HBV相关性肝癌关联性探究.docx
- 幼儿教师资格证(考试资料)《幼儿保健知识与能力》新版初级练习卷有答案与.docx
- (附答案)川农12月《中药化学》作业考核-.docx
- (附答案)川农12月《园林植物保护学(本科)》作业考核-.docx
- (附答案)川农12月《有机化学(专科)》作业考核-.docx
- (附答案)川农12月《植物保护学(本科)》作业考核-.docx
- (附答案)东师《教育心理学》在线作业2-1(1).docx
- (附答案)川农12月《药剂学》作业考核-.docx
- (附答案)川农12月《配方饲料制造工艺与技术(专科)》作业考核-.docx
- 幼儿教师资格证(考试资料)《幼儿保健知识与能力》新版基础知识题库带解析.docx
- 幼儿教师资格证(考试资料)《幼儿保健知识与能力》基础知识模拟押题卷.docx
文档评论(0)