Java Socket基本使用
Posted Mr. Tan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java Socket基本使用相关的知识,希望对你有一定的参考价值。
首先 编写Client程序:
1 import java.io.IOException; 2 import java.net.Socket; 3 import java.util.Scanner; 4 5 public class Client { 6 public static void main(String[] args) throws IOException { 7 /** 8 * 创建Socket 9 * 接收服务器端发送数据 10 */ 11 Socket socket = new Socket("127.0.0.1", 9999); 12 Scanner sc = new Scanner(socket.getInputStream()); 13 sc.useDelimiter(" "); 14 while(sc.hasNext()){ 15 System.out.println(sc.next()); 16 } 17 sc.close(); 18 socket.close(); 19 } 20 }
客户端通过多线程发送给客户端数据:
1 import java.io.PrintStream; 2 import java.net.ServerSocket; 3 import java.net.Socket; 4 5 class ThreadSocket implements Runnable { 6 /** 7 * 线程接收到socket实例后执行run()处理 8 */ 9 private Socket socket; 10 11 public ThreadSocket(Socket socket) { 12 this.socket = socket; 13 } 14 15 @Override 16 public void run() { 17 try { 18 PrintStream printStream = new PrintStream(socket.getOutputStream()); 19 printStream.println("<h1 align=‘center‘>nihao erzhi</h1>"); 20 printStream.close(); 21 socket.close(); 22 } catch (Exception e) { 23 e.printStackTrace(); 24 } 25 } 26 } 27 28 public class Server { 29 public static void main(String[] args) throws Exception { 30 /** 31 * 创建ServerSocket 32 */ 33 ServerSocket server = new ServerSocket(9999); 34 Socket socket = null; 35 while (true) { 36 /** 37 * 死循环监听端口 38 * 有消息开一个线程处理 39 */ 40 socket = server.accept(); 41 new Thread(new ThreadSocket(socket)).start(); 42 } 43 } 44 }
以上是关于Java Socket基本使用的主要内容,如果未能解决你的问题,请参考以下文章
Java千百问_02基本使用(011)_如何编写单线程Socket程序