入门案例实现Socket编程
编程顺序
1,创建服务器端
2,实现accept方法
3,创建客户端
4,建立链接
5,获取输入输出流
6,数据传输
7,关闭流和Socket
服务器端的创建
package TCPDemo;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
/**
* 服务器端
*/
public class BasicSocketServer {
public static void main(String[] args) {
BufferedReader br=null;
Socket soc=null;
try {
//创建服务器监听对象
ServerSocket ser=new ServerSocket(8888);
System.out.println("服务器启动监听等待链接中。。。。");
//调用accept方法,使服务器处于阻塞状态
//此方法返回一个Socket对象
soc=ser.accept();
//读取客户端发送的消息,以字符串形式读取,在Socket对象中有此方法
br=new BufferedReader(new InputStreamReader(soc.getInputStream()));
System.out.println(br.readLine());
} catch (IOException e) {
e.printStackTrace();
}finally {
if (br!=null){
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (soc!=null){
try {
soc.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
客户端创建/*
package TCPDemo;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.Socket;
/**
* 创建客户端
*/
public class BasicSocketCilet {
public static void main(String[] args) {
//创建对象,给定两个参数,服务器的ip地址和服务器端的端口
Socket soc=null;
//创建字符输出流
PrintWriter pw=null;
try {
//创建对象,给定两个参数,服务器的ip地址和服务器端的端口
soc=new Socket("192.168.199.116",8888);
System.out.println("与服务器连较中。。。");
//创建字符输出流
pw=new PrintWriter(soc.getOutputStream());
pw.println("你好,服务器!");
pw.flush();
} catch (IOException e) {
e.printStackTrace();
}finally {
if (pw!=null){
pw.close();
}
if (soc!=null){
try {
soc.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}