客户端Socket概述与实例

本文介绍了Java中的Socket类,包括其基本操作、构造与使用方法,以及实例解析了Daytime协议客户端的创建。此外,还详细讲解了如何向服务器写入数据、关闭Socket、获取Socket信息以及设置Socket选项,如TCP_NODELAY、SO_LINGER、SO_TIMEOUT等。
摘要由CSDN通过智能技术生成

绝大部分知识与实例来自O’REILLY的《Java网络编程》(Java Network Programming,Fourth Edition,by Elliotte Rusty Harold(O’REILLY))。

Socket类简介

Socket又名套接字,由地址和端口号组成。它可以完成以下7个基本操作:
(1)连接远程机器;
(2)发送数据;
(3)接收数据;
(4)关闭连接;
(5)绑定端口;
(6)监听入站数据;
(7)在绑定端口上接收来自远程机器的连接。
Java的Socket类提供了对应前4个操作的方法,后面3个方法用于等待客户端的连接,仅服务器需要,由ServerSocket实现。
Socket类的使用大致可分为两个基本步骤:构造一个Socket对象并完成配置;利用Socket对象连接远程主机,并获取输入/输出流。

Socket对象的构建与简单使用

Socket的构造函数如下:

//构建一个空的Socket对象
public Socket()

//构建一个空的Socket对象,并设置代理服务器
public Socket(Proxy proxy)

//构建一个空的Socket对象,并设置加密机制
public Socket(SocketImpl impl)

//根据主机名和端口号构造Socket对象
public Socket(String host, int port) throws UnknownHostException, IOException

//根据InetAddress对象和端口号构造Socket对象
public Socket(InetAddress address, int port) throws IOException

//允许设置在哪个本地接口连接
public Socket(String host, int port, InetAddress localAddr,int localPort) throws IOException

各个构造器的参数见注释。需要注意的是,前三个构造器在创建对象时不会打开与远程主机的连接(因为没有提供地址和端口号),而后面的构造器则会。另外,由于Socket实现了Closeable,因此最好利用Java 7的try-with-resources实现自动关闭。
创建Socket对象并建立连接后,就可以调用Socket的getInputStream()获取来自服务器的输入了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值