入门级JAVA服务器编写

来源:互联网 发布:java 字符编码转换 编辑:程序博客网 时间:2024/05/01 10:41

这是一个简单的JAVA服务器的例子。服务器用JAVA写的。客户端使用OC写的。

下面代码只能实现单客户的通信。

代码非常简单,如下:

import java.io.*;import java.net.*;public class Test {public static void main(String[] args)throws IOException {ServerSocket server=new ServerSocket(9999);   Socket client=server.accept();   BufferedReader in=  new BufferedReader(new InputStreamReader(client.getInputStream()));   PrintWriter out=new PrintWriter(client.getOutputStream());   while(true){   String str=in.readLine();   System.out.println(str);   out.println("has receive....");   out.flush();   if(str.equals("end"))   break;   }   client.close();   }   }
我想要实现多客户端的链接,要改成如下:

import java.io.*;import java.net.*;public class Test  {public static void main(String[] args) throws IOException {ServerSocket server = new ServerSocket(9999);while (true) {Socket client = server.accept();BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()));PrintWriter out = new PrintWriter(client.getOutputStream());while (true) {String str = in.readLine();System.out.println(str);out.println("has receive");out.flush();if (str.equals("end")) break;}client.close();}}}


下面继续学习一个多线程的服务器的例子:

import java.net.*;import java.io.*;public class MultiUser extends Thread {private Socket client;public MultiUser (Socket c) {this.client = c;}public void run(){try {BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()));PrintWriter out = new PrintWriter(client.getOutputStream());while (true) {String str = in.readLine();System.out.println(str+"fff777");out.println("has receive");out.flush();if (str.equals("end"))break;}client.close();} catch (IOException e) {// TODO: handle exception}}public static void main(String[] args)throws IOException{ServerSocket server = new ServerSocket(9999);while (true) {MultiUser mu = new MultiUser(server.accept());mu.start();}}}




0 0
原创粉丝点击