Java教程 网络socket编程

Tcp/IP协议,传输层协议,网络七层协议。
http协议:应用层协议。
Java的Client
package com.situ.chapter5; import java.io.BufferedWriter; import java.io.IOException; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.io.Writer; import java.net.Socket; import java.net.UnknownHostException; public class Client { public static void main(String[] args) { OutputStream os = null; Writer writer = null; BufferedWriter bw = null; try { // System.out.println("等待连接服务端"); Socket socket = new Socket("localhost", 5000); System.out.println("连接成功"); // 输出流 os = socket.getOutputStream(); writer = new OutputStreamWriter(os, "UTF-8"); // 缓冲流 bw = new BufferedWriter(writer); bw.write("你好,我是客户端,我想充个值"); bw.flush(); } catch (UnknownHostException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { if (os != null) { try { os.close(); } catch (IOException e) { e.printStackTrace(); } } if (writer != null) { try { writer.close(); } catch (IOException e) { e.printStackTrace(); } } if (bw != null) { try { bw.close(); } catch (IOException e) { e.printStackTrace(); } } } } }
Java的Server:
package com.situ.chapter5; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.ServerSocket; import java.net.Socket; public class Server { public static void main(String[] args) { InputStreamReader isr = null; BufferedReader reader = null; try { ServerSocket ss = new ServerSocket(5000); System.out.println("等待客户端连接..."); // 阻塞等待客户端进行连接 Socket client = ss.accept(); System.out.println(client.getInetAddress().getHostAddress() + "客户端已连接"); // 当连接之后,执行下方代码。从客户端获取流 InputStream is = client.getInputStream(); // 将字节流转换成字符流 isr = new InputStreamReader(is, "UTF-8"); reader = new BufferedReader(isr); String line = null; while ((line = reader.readLine()) != null) { System.out.println(line); } System.out.println("读取结束"); } catch (IOException e) { e.printStackTrace(); } finally { if (isr != null) { try { isr.close(); } catch (IOException e) { e.printStackTrace(); } } if (reader != null) { try { reader.close(); } catch (IOException e) { e.printStackTrace(); } } } } }
来源:刘广法博客,请注意转载出处,网站地址为:https://liuguangfa.com/