Java网络编程:Socket 通信
client—-发送数据(输出流)————(输入)-【管道流处理数据】-(输出)——接收数据(输入流)——server
URL:协议+IP+端口+资源位置
客户端:
-
InetAddress 获取本地IP:写入服务器的端口号:xxxx
-
创建一个Socket连接(丢入IP和端口)
-
发送消息IO流(socket.getOutputStream();)
- 关闭
服务器:
-
服务端的建立一个端口:ServerSocket
-
监听客户端发过来的信息:serverSocket.accept();
-
读取客户端的信息(信息对于服务器管道是写入-就是输入流):accept.getInputStream();
-
管道流获取数据处理
- 关闭
客户端:代码实现
1 package Demo1.JavaSe.javasocket; 2 3 import java.io.IOException; 4 import java.io.OutputStream; 5 import java.net.InetAddress; 6 import java.net.Socket; 7 import java.net.UnknownHostException; 8 9 //Socket编程客户端 10 public class JavaSocketClientG { 11 public static void main(String[] args) throws IOException { 12 Socket socket = null; 13 InetAddress ServerIP=null; 14 OutputStream outputStream=null; 15 try { 16 //1.要知道服务器端口号 17 ServerIP = InetAddress.getByName("127.0.0.1"); 18 //端口号 19 int port = 9999; 20 //2.创建一个Socket连接 21 socket = new Socket(ServerIP, port); 22 //3.发送消息IO流 23 //client----发送数据(输出流)------------(输入)-【管道流处理数据】-(输出)------接收数据(输入流)------server 24 outputStream = socket.getOutputStream(); 25 outputStream.write("你好,我发送信息过来了!!!".getBytes()); 26 27 28 } catch (UnknownHostException e) { 29 e.printStackTrace(); 30 } catch (IOException e) { 31 e.printStackTrace(); 32 }finally { 33 34 if (outputStream != null) { 35 outputStream.close(); 36 } 37 if (socket != null) { 38 socket.close(); 39 } 40 } 41 42 43 } 44 }