java socket c s_Java Socket实现C/S网络通信

2008.05 ( 中旬刊) 1.首先介绍 Socket 的传输模式 主要的操作方式有两种: 面向连接和无连接。两者都有自己的优点和缺点, 具体取舍是根据应用程序的需求来决定的。 1.1 面向连接的可靠性更高, 对应的协议是 TCP 协议。这个模式下的 socket 必须在发送数据之前与目的地的 socket 取得一个连接。一旦连接建立了,sockets 就可以使用一个流接口:打开 - 读 - 写- 关闭。所有的发送的信息都会在另一端以同样的顺序被接收。面向连接的操作比无连接的操作效率更低,但是数据的安全性更高。 实际上 JAVA 降低了建立 Socket 程序的难度, 每一个传输模式都被封装到不同的类中了。Socket 和 ServerSocket 类库位于 java. net 包中。ServerSocket 用于服务器端, Socket 是建立网络连接时使用的。在连接成功时, 应用程序两端都会产生一个 Socket 实例, 操作这个实例, 完成所需的会话。对于一个网络连接来说, 套接字是平等的, 并没有差别, 不因为在服务器端或在客户端而产生不同级别。重要的 Socket API: java.net.Socket 继承于 java.lang.Object. get-InputStream 方法获得网络连接输入, 同时返回一个 IutputStream 对象实例。getOutputStream 方法连接的另一端将得到输入, 同时返回一个 OutputStream 对象实例。这两个方法均会产生一个 IOExcep-tion, 它必须被捕获, 因为它们返回的流对象, 通常都会被另一个流 对象使用。 1.2 而无连接的操作使用的数据报协议。一个数据报是一个独立的单元,它包含了所有的这次投递的信息。把它想象成一个信封吧,它有目的地址和需要发送的内容。这个模式下的 socket 不需要连接一个目的的 socket,它只是简单地投出数据报。无连接的操作是快速的和高效的,但是数据安全性不佳。 2.具体介绍 Socket 的工作机制 2.1 所谓的 socket 通常也称作“套接字”, 用于描述 IP 地址和端口, 是一个通信链的句柄。应用程序通常通过“套接字”向网络发出请求或者应答网络请求。Socket 是面向客户 / 服务器模型设计 的, 网络上的两个程序通过一个双向的通讯连接实现数据的交换, 这个双向链路的一端称为一个 Socket。Socket 通常用来实现客户方和服务方的连接。客户程序可以向 Socket 写请求, 服务器将处理此请求, 然后通过 Socket 将结果返回给用户。 2.2 其中涉及到重要的输入输出流, 具体介绍如下: 过滤流 DataInputStream 和 DataOutputStream 除了分别作为 FilterInputStream 和 FilterOutputStream 的子类外, 还分别实现了接口 DataInput 和DataOutput。接口 DataInput 中定义的方法主要包括从流中读取基本类型的数据、读取一行数据、或者读取指定长度的字节数, 如 read- Boolean()readInt()、readLine()、readFully()等。接口 DataOutput 中定义 的方法主要是向流中写入基本类型的数据或者写入一定长度的字节数组, 如 writeChar()、writeDouble() DataInputStream 可以从所连接的输入流中读取与机器无关的基本类型数据, 用以实现一种独立于具体平台

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值