Java网络编程

参考:https://blog.csdn.net/allenfoxxxxx/article/details/90707505

参考:https://www.jianshu.com/p/ae5e1cee5b04

关于IO流:

参考:https://www.cnblogs.com/xiyixin/p/9715881.html

(了解什么是IO输入输出,IO的最基本的四个抽象类,双字节存储,对数据的包装和转换包装)

主要实现流类:

文件流,缓冲流,数组流,对象流,基本数据类型流........

还有一个字节流转成字符流的转换桥类:InputStreamReder,OutputStreamWriter

 

IP地址和URL:

InetAddress类:

获取本机属性:

InetAddress i = InetAddress.getLocalHost();
System.out.println(i.getHostName());    //PC-20190328AQZM
System.out.println(i.getHostAddress());    //192.168.0.5

 通过域名获取主机属性:

InetAddress[] address = InetAddress.getAllByName("www.baidu.com");    //www.baidu.com/182.61.200.6 www.baidu.com/182.61.200.7
InetAddress i = InetAddress.getByName("www.baidu.com"); //www.baidu.com/182.61.200.6   

 

//servlet中,获取访问者的IP
        String remoteAddr = request.getRemoteAddr();

 

SocketAddress类:

抽象类,是一个套接字(IP+端口号)(用于定位和连接服务器的某个服务)

直接实现类InetSocketAddress:

new InetSocketAddress(InetAddress, port);

 

URI类:

new URI(...)

 

URL类:

uri.toURL();   //URI转换成URL对象

file.toURL();

file.toURI().toURL();  //文件对象转换成URL对象

getContent();     ///返回Object文本内容

openStream()      ///返回InputStream

openConnection()     ///返回URLConnection

 

 

URLConnection类:(抽象类)

getInputStream();      ///获取输入流

getOutputStream();      ///获取输出流

connect();          ///连接资源,有些方法可能已经隐式调用,就不必显示调用了

实现类:HttpURLConnection,JarURLConnection

setRequestMethod("POST");

setDoOutput(true);

 

基于TCP的通信:

socket类:

构造函数:

1.无参构造函数----------后面需要bind方法和connect方法绑定和连接

2.Socket(IP,端口)----------连接服务器

 

getInputStream()    //获取输入流

getOutputStream()   //获取输出流

getInetAddress()    //获取远程服务器IP地址

getPort     //获取远程服务器端口

getLocalAddress()        //获取客户本机IP地址

.......

isClose()

close()

 

ServerSocket类:

构造函数:

ServerSocket(端口,请求队列长度)     -----》请求队列长度:客户端请求连接等待数量

bind(InetSocketAdress套接字)    //绑定服务器本机套接字

getInputStream()    //获取输入流

getOutputStream()   //获取输出流

accept()      //等待客户端连接阻塞方法,返回一个服务器当前对应连接的客户端Socket对象

close()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值