今天说说建立小型的服务器。
一般服务器都是循环执行下面几个流程:
1.接收数据流从客户端接受命令
2.解码
3.收集需求
4.通过数据流返回数据
下面上源码:
package com.test.socket; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; import java.util.Scanner; public class TestSocket { public static void main(String[] args) { try { ServerSocket serverSocket = new ServerSocket(8189); Socket socket = serverSocket.accept(); InputStream inputStream = socket.getInputStream(); OutputStream outputStream = socket.getOutputStream(); Scanner scanner = new Scanner(inputStream); PrintWriter printWriter = new PrintWriter(outputStream, true); printWriter.println("welcome to testServer"); boolean done = false; while (!done && scanner.hasNextLine()) { String line = scanner.nextLine(); printWriter.println("Echo:" + line); if (line.trim().equals("bye")) { done = true; } } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
注意:
1.PrintWriter后面需要加上true这个参数,不然客户端刷新不出来内容
如下图
当加上了autoflush=true之后,才会互相内容
这样我们就自己建立了一个最简单的server
版权声明:本文为博主原创文章,未经博主允许不得转载。