



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于 Socket 的网络编程技术及其实现 摘 要:科学技术的不断发展推动了网络信息化时代 的发展,随着计算机技术不断的发展,各种网络编程技术日 新月异。 本文介绍了 Socket 网络编程的基本概念, 以及实现 Socket编程的基本原理,通给出一个基于 TCP协议实例,来 说明实现网络编程。 关键词:Socket ;网络编程技术;通信 随着科学技术的发展,计算机网络编程技术在人们的日 常生活中的应用也越来越普遍了通过网络使用通信协议实 现进程间的通信, TCP/IP 就是网络上常用的协议之一, 在进 行网络编程程序设计时, TCP/IP 协议的核心内容受到操作系 统的控制。网络编程程序必须
2、通过协议来实现自己的功能, 靠系统提供的 TCP/IP 协议来完成编程程序。 1 Socket 网络编程的基本概念 Socket 是应用层与 TCP/IP 协议族通信的中间软件抽象 层,它是一组接口。在设计模式中, Socket 其实就是一个门 面模式,它把复杂的 TCP/IP 协议族隐藏在 Socket1 接口后 面,对用户来说,一组简单的接口就是全部,让 Socket 去组 织数据,以符合指定的协议。Socket可以看成在两个程序进 行通讯连接中的一个端点,是连接应用程序和网络驱动程序 的桥梁, Socket 在应用程序中创建,通过绑定与网络驱动建 立关系。此后,应用程序送给Socket的
3、数据,由Socket交网 络驱动程序向网络上发送出去。计算机从网络上收到与该 Socket 绑定 IP 地址和端口号相关的数据后, 由网络驱动程序 交给Socket,应用程序便可从该 Socket中提取接收到得数据, 网络应用程序就是这样通过 Socket 进行数据的发送与接收 的。 1.1 关于地址 一个程序要想与另一个程序通信,就要给计算机提供足 够的信息,使其能找到另一个程序。在 TCP/IP 协议中,有 两部分信息用来定位一个指定的程序,互联网地址(Internet address)和端口号(port number)。其中互联网地址由 IP协 议使用,而附加的端口号地址信息由传输协议使
4、用(TCP/IP 协议)解析。 1.2 套接字 Socket (套接字)是一中比较抽象的东西,利用编程程 序来接受数据 2 。计算机网络编程程序根据 TCP/IP 协议中 系统提供的程序来完成套接字的通讯。每一台计算机都有一 个标识来识别计算机的应用程序。如果一个端口确定了一台 主机上的一个套接字,那么主机中的多个程序可以对同一个 套接字进行访问。在实际应用中,访问相同的套接字的不同 程序一般属于同一个应用。 Socket 套接口有 3 种类型。一种 SOCK_STREAM 流式套接口,面向连接的,可靠地,TCP 。 第二种是 SOCK_DRAM 数据报套接口,面向无连接,不可 靠,UDP。第
5、三种是原始套接口,主要用于新的网络协议实 现的测试。 2 Socket 编程主要流程 编程分为服务器端和客户端两个方面。在进行 Socket 编程的时候,首先创建服务器套接字,服务器端通过 Socket ()建立一个套接字,然后通过bind ()将创建的套接字绑 接到要联系的IP地址和端口上,调用listen ()监听链接请 求, 客户端通过接受指令, 通过 Socket() 建立一个套接字, 利用界面上的“ connect”按钮,调用Connect ()像服务器 请求连接。在客户端完成 Connect 指令后,服务器端调用 3accept ()接受请求并返回新的套接字,通过返回的套接 字与客
6、户端进行通信,当在客户端点击Send ()指令时,服 务器端就得调用receive ()指令接受信息。在完成通信交流 后,服务器端与客户端调用Close ()关闭Socket (),宠儿 终端连接。例如 Daytime 服务器,如下图所示。 3 Socket 网络编程技术实现 public static synchronized void setSocketFactory (SocketImplFactory fac ) throws IOException 这个方法设置 系统(system)的服务器 SocketlmpIFactory,这是用于创建 ServerSocket 对象的类库。它与
7、创建 Socket 对象的类库 有所不同,尽管语法是相似的。可以用一个库创建 Socket 对象,用另一个库创建 ServerSocket 对象。但是在程序也可 以只设置这个类库一次。试图第二次设置 SocketImplFactory 时会触发一个 SocketException 。 protected final void implAccept ( Socket s) throws IOException ServerSocket 的子类使用这个方法实现 accept ()。可以把未连接的 Socket 对象传递到 implAccept ()(这 样做同样要求实现 Socket 子类,因为标准的 .Socket 类没有提供创建未连接套接字的工具) 。当此方法返回时, Socket 变量 s 就连接到客户机上。 4 结束语 Socket 网络编程技术运用为人们通过计算机网络进行交 流提供了便利。随着科学技术的发展, Socket 网络编程技术 也要与时俱进,不断创新,为计算机网络信息化发展提供动 力。 参考文献 1 周炎涛,李立明 .TCP/IP 协议下网络编程技术及其实 现J.航空计算技术,2011, 09 (03): 33-34. 2 周小松, 朱雄军 .基于 UDP 协议的 Socket
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业组织结构的数字化转型思考
- 购房定金纠纷应对措施
- 重庆医药级聚醚多元醇项目可行性研究报告(参考模板)
- 橡塑项目可行性研究报告(参考范文)
- 包装装潢设计软件应用考核试卷
- 大数据在精准教学中的应用分析
- 水产加工企业环境保护与节能减排考核试卷
- 纺织设备超声波技术与运用考核试卷
- 畜牧良种繁殖技术规范与标准考核试卷
- 城区污水管网整治工程可行性研究报告(范文)
- 第18课《井冈翠竹》课件-2024-2025学年统编版语文七年级下册
- 【MOOC】《思想道德与法治》(东南大学)章节中国大学慕课答案
- 【MOOC】以案说法-中南财经政法大学 中国大学慕课MOOC答案
- 卜算子-送鲍浩然之浙东课件
- 上海市社区工作者管理办法
- 颅脑损伤患者护理查房课件
- 口腔疾病与全身系统性疾病的关系课件
- 年产16万吨焦油焦油车间蒸馏工段工艺初步设计 毕业设计
- 霍乱弧菌实验室检测PPT
- 五年级下学期信息技术3Done三维制作萝卜课件
- DB51∕T 2858-2021 农业科技成果效益计算方法及规程
评论
0/150
提交评论