Socket
流式套接字Sock_STREAM 面向连接,可靠的数据传输服务 tcp协议
数据保式套接字 SOCK_DGRAM 无连接服务 UDP协议
接收服务器段发送的的流需要shuutdownIoutput()方法
服务器端
public static void main(String[] args) {
try {
ServerSocket serverSocket=new ServerSocket(6666);
//监听并接受到此serverSocket的链接
Socket socket=serverSocket.accept();
//监听开启之后就要去接收客户端的信息
InputStream is=socket.getInputStream();
//接收到之后用BuffReader来遍历效率更高
BufferedReader br=new BufferedReader(new InputStreamReader(is));
String cc;
while ((cc=br.readLine())!=null){
System.out.println(“客户端信息是”+cc);
}
//发送资源给客户端
String s="你好客服端";
OutputStream os=socket.getOutputStream();
os.write(s.getBytes());
//关闭资源先开的后关
os.close();
br.close();
is.close();
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
客服端
//要发送东西需要也创建Socket
try {
Socket socket=new Socket(“localhost”,6666);
//和服务器链接需要去发送东西定义一个需要写的东西
String info=“这是客服端发送的信息”;
//写的是字符但是接收的是字节需要去分解
OutputStream os=socket.getOutputStream();
byte[] c=info.getBytes();
os.write©;
//通过输入流接收服务器!!!
socket.shutdownOutput();
//接收服务器的信息
InputStream is=socket.getInputStream();
BufferedReader bf=new BufferedReader(new InputStreamReader(is));
String s;
while ((s=bf.readLine())!=null){
System.out.println("服务器发出"+s);
}
//用完之后关闭资源
// bf.close();
//is.close();
os.close();
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}