码迷,mamicode.com
首页 > 其他好文 > 详细

ServerSocket类的常用方法

时间:2019-06-30 23:11:25      阅读:318      评论:0      收藏:0      [点我收藏+]

标签:接受   启用   时间   system   exception   net   col   mil   out   

1.accept:侦听并接受此套接字的连接;此方法在连接传入之前一直阻塞。

2.setSoTimeout(timeout)方法的作用时设置超时时间,通过指定超时timeout值启用/禁用超时功能,以ms为单位。

  必须在进入阻塞前调用这个方法,才能生效,一旦超时,程序会触发SocketTimeoutException异常;默认值是0即永远等待。

 

Server.java

package com.company.s7;

import java.io.IOException;
import java.net.ServerSocket;

public class Server {
    public static void main(String[] args) {
        try {
            ServerSocket serverSocket=new ServerSocket(8000);
            System.out.println(serverSocket.getSoTimeout());
            serverSocket.setSoTimeout(4000);
            System.out.println(serverSocket.getSoTimeout());
            System.out.println();

            System.out.println("begin "+System.currentTimeMillis());
            serverSocket.accept();
            System.out.println(" end "+System.currentTimeMillis());
        }catch (IOException e){
            e.printStackTrace();
        }
    }
}

Client.java

package com.company.s7;

import java.io.IOException;
import java.net.Socket;

public class Client {
    public static void main(String[] args) {
        try {
            System.out.println("client begin "+System.currentTimeMillis());
            Socket socket=new Socket("localhost",8000);
            System.out.println("client end "+System.currentTimeMillis());
        }catch (IOException e){
            e.printStackTrace();
            System.out.println("catch "+System.currentTimeMillis());
        }
    }
}

 

backlog参数含义:

技术图片

允许接受客户端连接请求的个数。

如果队列已满,则拒接该连接。

blacklog参数如果小于等于0,则使用默认值50;

ServerSocket类的常用方法

标签:接受   启用   时间   system   exception   net   col   mil   out   

原文地址:https://www.cnblogs.com/guoyansi19900907/p/11111659.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!