java client socket备忘

2012517

1、数据分段成帧之后需要考虑的问题:数据帧的丢失和乱序。

2、数据分段成帧之后,需要考虑的问题:数据如何分段、产生数据帧头部、分析数据帧头部、记录哪些帧没有正确传输、乱序重排。

3、使用scoket之后的效果:socket屏蔽了网络协议底层的细节,利用socket可以把数据的收发当做流来处理。

4socket的作用:连接到远端的电脑、发送数据、接收数据、关闭一个连接、绑定到一个端口、监听输入的数据、接收来自远端电脑的连接。前三种是客户端socket的功能,后三种需要服务端socket实现。

5socket的使用流程

1构造一个新的socket

2用新构造的socket连接远端的电脑

3利用输入和输出流来收发数据

4通信结束之后关闭连接

6socket的构造函数

1public Socket(String host, int port) throws UnknownHostException, IOException

生成一个名称为host,端口号为portSocket对象,然后试图建立连接

如果不能解析host,就产生UnknownHostException

如果不能建立连接,就产生IOException

可以用这个构造函数来确定对端的特定端口是否开放。

2public Socet(InetAddress host, int port) throws IOException

如果无法连接,就产生IOException

在某些情况下,如果需要在同一个host下面打开多个socket,用InetAddress会更高效。

3public Socket(String host, int port, InetAddress interface, int localPort) throws IOException, UnKnownHostException

前两个参数作为对端接口,后两个参数作为本地的端口,如果localPort0,则随机从102465535随机选择一个端口作为本地发送端口。

4public Socket(InetAddress host, int port, InetAddress interface, int localPort) throws IOException

这个和前一个几乎一样

7、从Socket对象获取信息

1public InetAddress getInetAddress()

返回socket对象的host名称

2public int getPort()

返回socket对象连接的host的端口号

3public int getLocalPort()

返回本地端localhost的端口号

4public InetAddress getLocalAddress()

返回socket对象绑定的本地端口地址

5public InputStream getInputStream() throws IOException

返回可以从socket读取数据的input stream对象

6public OutputStream getOutputStream() throws IOException

返回可以从socket发送数据的output stream对象

8、关闭socket

Socket connection = null;

try {

    connection = new Socket("www.oreilly.com", 13);

    // interact with the socket

}  // end try

catch (UnknownHostException ex) {

    System.err.println(ex);

}

catch (IOException ex) {

    System.err.println(ex);

}

finally {

    if (connection != null)

        connection.close();

}

9、判断一个Socket是否已经关闭

isClosed(),如果已经关闭,将返回true

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值