说明:
要求: 创建一个客户端, 向服务器发送数据
1.Client1:
public class Client {
/*属性:Socket,指定服务器的IP和端口*/
private Socket socket;
public Client(){
try {
socket = new Socket("localhost",8088);
} catch (Exception e) {
e.printStackTrace();
}
}
/**客户端开始工作的方法
public void start(){
try {
/*
* 通过Socket对象获取输出流,
* 将数据发送给服务器
*/
OutputStream os = socket.getOutputStream();
PrintWriter pw =
new PrintWriter(
new OutputStreamWriter(os));
Scanner scan = new Scanner(System.in);
while(true){
String input = scan.next();
pw.println(input);
pw.flush();
}
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
Client client = new Client();
client.start();
}
}
2.Server1
/**
* 创建一个服务器,用来接收某一客户端发送
* 的信息
*/
public class Server {
/*
* 属性:server,用来指定服务端的端口号
*/
private ServerSocket server;
public Server(){
try {
//指定服务端的端口号
server = new ServerSocket(8088);
} catch (Exception e) {
e.printStackTrace();
}
}
public void start(){
try {
/*
* 调用阻塞方法,进行监听客户端,获取
* Socket套接字对象。
*/
System.out.println("--等待连接--");
Socket socket = server.accept();
System.out.println("--连接成功--");
// 通过套接字获取输入流对象
InputStream is = socket.getInputStream();
BufferedReader br =
new BufferedReader(
new InputStreamReader(is));
String line = "";
while((line=br.readLine())!=null){
System.out.println("服务端:"+line);
}
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
Server server = new Server();
server.start();
}
}
3.结果
先运行服务器等待连接,再运行客户端-输入信息,回车,即出现客户端发送服务端的消息,