Java Socket编程

本文介绍了Java中的Socket编程,包括常见的构造函数,如无参构造、指定服务器地址的构造等;详细讲解了如何获取Socket信息,如SocketAddress、Address和port;讨论了如何判断Socket是否打开,正确方法是检查isConnected()和isClosed();分析了Socket的关闭问题,包括close()、shutdownInput()和shutdownOutput()的区别;最后,阐述了Socket的几个关键选项,如TCP_NODELAY、SO_LINGER、SO_TIMEOUT和SO_KEEPALIVE及其作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.Socket常见的构造函数

1.Socket socket=new Socket();//无参构造函数

     主要是用于需要设置选项的socket连接,Socket的参数有哪些下面会详细讲,如果我们先建立连接再设置选项,那么设置的参数就可能会无效,但是并不会报错(无形之刃最为致命),比如说选项SO_REUSEADDR  像下面:

Socket socket=new Socket();
socket.setReuseAddress(true);
socket.connect(new SocketAddress("localhost",9999));

 2.Socket socket =new Socket(String host,int port);

      host就是目的Address或者叫服务器地址,这种是最常见的。

3.还有一个构造函数是不光指定目的地址还可以指定使用哪个本机网络接口和端口,适用于一些防火墙限制或者其他情况。

2.Socket的信息获取方法

1.获取SocketAddress

Socket socket=new Socket("www.baidu.com",80);  
		SocketAddress a =socket.getRemoteSocketAddress();
		SocketAddress b=socket.getLocalSocketAddress();

   a获取的是所连接系统的Socket地址

   b获取的是本地的Socket地址

2.获取Address和port

   

		Socket socket&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值