ServerSocket类的常用方法
Posted guoyansi19900907
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ServerSocket类的常用方法相关的知识,希望对你有一定的参考价值。
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类的常用方法的主要内容,如果未能解决你的问题,请参考以下文章