1 / 14
文档名称:

java_socket服务端和客户端编程.doc

格式:doc   页数:14页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

java_socket服务端和客户端编程.doc

上传人:陈晓翠 2011/11/6 文件大小:0 KB

下载得到文件列表

java_socket服务端和客户端编程.doc

文档介绍

文档介绍:java socket编程精华版
一,网络编程中两个主要的问题
一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输。
在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,上的一台主机。
而TCP层则提供面向应用的可靠(tcp)的或非可靠(UDP)的数据传输机制,这是网络编程的主要对象,一般不需要关心IP层是如何处理数据的。
目前较为流行的网络编程模型是客户机/服务器(C/S)结构。即通信双方一方作为服务器等待客户提出请求并予以响应。客户则在需要服务时向服务器提出申请。服务器一般作为守护进程始终运行,监听网络端口,一旦有客户请求,就会启动一个服务进程来响应该客户,同时自己继续监听服务端口,使后来的客户也能及时得到服务。
二,两类传输协议:TCP;UDP
TCP是Tranfer Control Protocol的简称,是一种面向连接的保证可靠传输的协议。通过TCP协议传输,得到的是一个顺序的无差错的数据流。发送方和接收方的成对的两个socket之间必须建立连接,以便在TCP协议的基础上进行通信,当一个socket(通常都是server socket)等待建立连接时,另一个socket可以要求进行连接,一旦这两个socket连接起来,它们就可以进行双向数据传输,双方都可以进行发送或接收操作。
UDP是User Datagram Protocol的简称,是一种无连接的协议,每个数据报都是一个独立的信息,包括完整的源地址或目的地址,它在网络上以任何可能的路径传往目的地,因此能否到达目的地,到达目的地的时间以及内容的正确性都是不能被保证的。
比较:
UDP:1,每个数据报中都给出了完整的地址信息,因此无需要建立发送方和接收方的连接。
            2,UDP传输数据时是有大小限制的,每个被传输的数据报必须限定在64KB之内。
           3,UDP是一个不可靠的协议,发送方所发送的数据报并不一定以相同的次序到达接收方
TCP:1,面向连接的协议,在socket之间进行数据传输之前必然要建立连接,所以在TCP中需要连接
                时间。
            2,TCP传输数据大小限制,一旦连接建立起来,双方的socket就可以按统一的格式传输大的  
                    数据。
             3,TCP是一个可靠的协议,它确保接收方完全正确地获取发送方所发送的全部数据。
应用:
1,TCP在网络通信上有极强的生命力,例如远程连接()和文件传输(FTP)都需要不定长度的数据被可靠地传输。但是可靠的传输是要付出代价的,对数据内容正确性的检验必然占用计算机的处理时间和网络的带宽,因此TCP传输的效率不如UDP高。
2,UDP操作简单,而且仅需要较少的监护,因此通常用于局域网高可靠性的分散系统中client/server应用程序。例如视频会议系统,并不要求音频视频数据绝对的正确,只要保证连贯性就可以了,这种情况下显然使用UDP会更合理一些。
三,基于Socket的java网络编程
1,什么是Socket
网络上的两个程序通过一个双向的通讯连接实现数据的交换,这个双向链路的一端称为一个Socket。Socket通常用来实现客户方和服务方的连接。Socket是TCP/IP协议的一个十分流行的编程界面,一个Socket由一个IP地址和一个端口号唯一确定。
但是,Socket所支持的协议种类也不光TCP/IP一种,因此两者之间是没有必然联系的。在Java环境下,Socket编程主要是指基于TCP/IP协议的网络编程。
2,Socket通讯的过程
Server端Listen(监听)某个端口是否有连接请求,Client端向Server 端发出Connect(连接)请求,ept(接受)消息。一个连接就建立起来了。Server端和Client 端都可以通过Send,Write等方法与对方通信。
对于一个功能齐全的Socket,都要包含以下基本结构,其工作过程包含以下四个基本的步骤:
(1) 创建Socket;
(2) 打开连接到Socket的输入/出流;
(3) 按照一定的协议对Socket进行读/写操作;
(4) 关闭Socket.(在实际应用中,并未使用到显示的close,虽然很多文章都推荐如此,不过在我的程序中,可能因为程序本身比较简单,要求不高,所以并未造成什么影响。)
3,创建Socket
创建Socket
中提供了两个类Socket和ServerSocket,分别用来表示双向连接的客户端和服务端。这是两个封装得非常好的类,使用很方便。其构造方法如下:

最近更新

2025年优胜教育市场专员岗位招聘说明书 2页

2025年太原旅游职业学院单招综合素质考试题库.. 67页

2025年计算机个人求职信 15页

2025年计划部人员岗位职责(精选9篇) 7页

2025年天津职业技术师范大学单招综合素质考试.. 64页

商铺租赁意向书(9篇) 34页

半固态成形过共晶Al-Si合金热处理工艺研究 2页

国培自我鉴定(7篇) 20页

医疗器械灭菌包装标准体系研究 2页

2025年天津工艺美术职业学院单招职业适应性测.. 66页

学校主任岗位工作述职报告(汇总10篇) 38页

学生会工作计划学生会新学期工作计划 19页

实用的合作经营合同范文集合(33篇) 149页

2025年二手车过户基本流程 14页

家访教师心得体会的范文 43页

2025年装饰公司培训心得 9页

2025年天府新区信息职业学院单招职业适应性考.. 65页

2025年大连装备制造职业技术学院单招职业技能.. 62页

劣质防垢剂对工业锅炉的危害分析 2页

加氢裂化装置新氢压力波动分析及其控制措施 2页

2025年大理护理职业学院单招职业倾向性测试题.. 63页

2025年大理农林职业技术学院单招职业倾向性测.. 65页

加强建筑工程质量安全监督现场管理研究 2页

副产蒸汽氯化氢合成炉运行探讨 2页

2025年塔里木职业技术学院单招职业倾向性测试.. 65页

2025年四平职业大学单招综合素质考试题库及参.. 67页

2025年沙洲职业工学院单招职业技能测试题库完.. 63页

机械设备升级改造合同书 6页

2025年山东省临沂市兰山区中考一模物理试题含.. 13页

驯养篮球犬 1页