今天说说建立小型的服务器。
一般服务器都是循环执行下面几个流程:
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
版权声明:本文为博主原创文章,未经博主允许不得转载。