//河北工业大学人工智能学院复习重点
主要内容:
1.访问网络的三大类。(InetAddress类,URL类,URLConnection类)
2.TCP连接的网络连接
1. InetAddress类
成员方法:
InetAddress getByname(String host)
InetAddress getLocalHost()
InetAddress[] getAllByName(String host)
2. URL类
成员方法:
toString()//得到URL
getProtocol()//得到协议
getAuthority()//验证信息
getFile()//文件名和请求参数
getHost()//主机号
getPort()//端口号
getQuery()//请求参数
getPath()//路径
getDefaltPort()//默认端口号
getRef()//定位位置
3. URLConnection类
成员方法:
//URLConnection urlconnection=url.openConnection();
getInputStream()
/用法:BufferedReader br=new BufferedReader (new InputStreamReader(urlconnection.getInputStream()));/
4. TCP连接
服务器端步骤:
- 创建ServerSocket对象
- SreverSocket对象调用accept方法
- 连接成功后,将连接赋值给Socket对象
- 输入输出,socket.getInputSteram();socket.getOutputStream();
- 关闭输入输出
- 关闭socket
- 关闭serversocket
客户端步骤: - 创建Socket对象
- 与服务器端建立连接
- 输入输出
- 关闭输入输出
- 关闭socket
服务器端和客户端的交流
package exp71;
import java.sql.*;
import java.net.*;
import java.io.*;
import java.util.Scanner;
public class Server {
//服务器端
public static void main(String []args)throws Exception {
int port = 13355;
ServerSocket server=new ServerSocket(port);//创建TCP连接
System.out.println("等待客户端的连接!");
Socket socket=server.accept();//等待客户端的连接
System.out.println("连接成功!");
//进行输入输出
InputStream is=socket.getInputStream();
OutputStream os=socket.getOutputStream();
byte[] b=new byte[1024];
int len;
StringBuilder sb=new StringBuilder();
while((len=is.read(b))!=-1){
sb.append(new String(b,0,len,"UTF-8"));
}
System.out.println(sb);
os.write("bye".getBytes("UTF-8"));
is.close();
os.close();
socket.close();
server.close();
}
}
```java
package exp71;
import java.net.*;
import java.io.*;
import java.util.*;
public class Client{
//客户端
public static void main(String [] args)throws Exception{
int port=13355;
String host="127.0.0.1";
System.out.println("正在连接服务器。。。");
Socket socket=new Socket(host,port);
System.out.println("已连接服务器。。。");
//进行输入输出
InputStream is=socket.getInputStream();
OutputStream os=socket.getOutputStream();
Scanner sc=new Scanner(System.in);
String s=sc.next();
os.write(s.getBytes("UTF-8"));
socket.shutdownOutput();
byte[] b=new byte[1024];
int len;
StringBuilder sb=new StringBuilder();
while((len=is.read(b))!=-1){
sb.append(new String (b,0,len,"UTF-8"));
}
System.out.println("服务器端说:"+sb);
is.close();
os.close();
socket.close();
}
}