黑马JAVA P182 TCP通信快速入门
package com.itheima.d5_socket1; import java.io.IOException; import java.io.OutputStream; import java.io.PrintStream; import java.net.Socket; /** * 目标:完成Socket网络编程入门案例的客户端开发,实现1发1收。 */ public class ClientDemo1 { public static void main(String[] args) { try { //1.创建Socket通信管道请求有服务端的连接 //public Socket(String host, int port) //参数一:服务端的IP地址 //参数二:服务端的端口 Socket socket = new Socket("127.0.0.1",7777); //2.从socket通信管道中得到一个字节输出流 负责发送数据 OutputStream os = socket.getOutputStream(); //3.把低级的字节流包装成打印流 PrintStream ps = new PrintStream(os); //4.发送消息 ps.print("我是TCP的客户端,我已经与你对接,并发出邀请:约吗?"); ps.flush(); //关闭资源。 // socket.close(); } catch (Exception e) { e.printStackTrace(); } } }
package com.itheima.d5_socket1; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.ServerSocket; import java.net.Socket; /** * 目标:开发Socket网络编程入门代码的服务端,实现接收消息 */ public class ServeDemo2 { public static void main(String[] args) { try { System.out.println("======服务端启动成功========="); //1.注册端口 ServerSocket serverSocket = new ServerSocket(7777); //2.必须调用accept方法:等待接收客户端的Socket连接请求,建立Socket通信管道 Socket socket = serverSocket.accept(); //3.从socket通信管道中得到一个字节输入流 InputStream is = socket.getInputStream(); //4.把字节输入流包装成缓冲字符输入流进行消息的接收 BufferedReader br = new BufferedReader(new InputStreamReader(is)); //5.按照行读取消息 String msg; if((msg = br.readLine()) != null){ System.out.println(socket.getRemoteSocketAddress() + "说了::" + msg); } } catch (Exception e) { e.printStackTrace(); } } }
package com.itheima.d5_socket1; import java.io.IOException; import java.io.OutputStream; import java.io.PrintStream; import java.net.Socket; /** * 目标:完成Socket网络编程入门案例的客户端开发,实现1发1收。 */ public class ClientDemo1 { public static void main(String[] args) { try { System.out.println("====客户端启动===="); //1.创建Socket通信管道请求有服务端的连接 //public Socket(String host, int port) //参数一:服务端的IP地址 //参数二:服务端的端口 Socket socket = new Socket("127.0.0.1",7777); //2.从socket通信管道中得到一个字节输出流 负责发送数据 OutputStream os = socket.getOutputStream(); //3.把低级的字节流包装成打印流 PrintStream ps = new PrintStream(os); //4.发送消息 ps.println("我是TCP的客户端,我已经与你对接,并发出邀请:约吗?"); ps.flush(); //关闭资源。 // socket.close(); } catch (Exception e) { e.printStackTrace(); } } }
上一篇:
IDEA上Java项目控制台中文乱码