网络套节字
InetAddress
表示互联网上的ip地址
构造方法:无构造方法
inetAddress对象如何初始化:是通过调用静态方法
inetAddress getByName(String hostname)
inetAddress getLocalhost()
普通方法:
String getHostAddress();
String getHostName();
套接字
ServerSocket:服务器端套接字
Socket:客户端套接字
编码流程
如果服务器与客户端通信
1.服务器的输出流对应客户端输入流
2.服务器的输入流对应客户端输出流
案例:服务器端给每个客户放发送一个helloworld
初始化ServerSocket
初始化Socket
完成一个IO的数据传送,网络数据传送
案例:服务器端不断发送数据给客户端
循环
案例:服务器端发送一个文件给客户端,从服务器端上下载一个文件
思路:服务器端必须有两个IO流(输入流:本地流,输出流:网络流)
思路:客户端必须有两个IO流(输入流:网络流,输出流:本地流)
案例:开发一个群聊和私聊的网络聊天程序
环境要求:纯净的CMD命令窗口来完成群聊的私聊
技术要求:线程+网络套接字+IO
目的:在服务器端些线程,让服务器端线程代理客户端
技术:利用线程池来管理所有的客户端套接字,ExecutorService;
字节流转换字符流:OutputStream os=…;
Writer writer=new OutputStreamWritr(os);完成字节流转换字符流
writer.println();
B/S程序架构【核心功能】:请求与响应v