如何创建基本的Java Server?

IAp*_*App 25 java sockets multithreading

基本上我想这多个人可以连接,当连接的客户端(在OBJ - C的已编码)中的一个将数据发送给它,它发回给大家谁是连接一个基本的Java服务器.

我是一个真正的Java新手,我不会需要的Java在可预见的将来任何东西,但这个让我尽快想出来的办法,而不是从头开始学习Java正常.因此,如果任何人有一些这方面的源代码或者教程,我将不胜感激.

谢谢:) Ozzie

Dav*_*nco 18

这是一个简单的"Knock Knock"服务器,由Sun提供:

import java.net.*;
import java.io.*;

public class KnockKnockServer {
    public static void main(String[] args) throws IOException {

        ServerSocket serverSocket = null;
        try {
            serverSocket = new ServerSocket(4444);
        } catch (IOException e) {
            System.err.println("Could not listen on port: 4444.");
            System.exit(1);
        }

        Socket clientSocket = null;
        try {
            clientSocket = serverSocket.accept();
        } catch (IOException e) {
            System.err.println("Accept failed.");
            System.exit(1);
        }

        PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);
        BufferedReader in = new BufferedReader(
                new InputStreamReader(
                clientSocket.getInputStream()));
        String inputLine, outputLine;
        KnockKnockProtocol kkp = new KnockKnockProtocol();

        outputLine = kkp.processInput(null);
        out.println(outputLine);

        while ((inputLine = in.readLine()) != null) {
             outputLine = kkp.processInput(inputLine);
             out.println(outputLine);
             if (outputLine.equals("Bye."))
                break;
        }
        out.close();
        in.close();
        clientSocket.close();
        serverSocket.close();
    }
}
Run Code Online (Sandbox Code Playgroud)

你不能比这简单得多.

  • 什么是'KnockKnockProtocol`? (15认同)
  • @GalenNare它在[官方教程](http://docs.oracle.com/javase/tutorial/networking/sockets/clientServer.html)中进行了解释.您可能需要调整[教程类](http://docs.oracle.com/javase/tutorial/networking/sockets/examples/KnockKnockProtocol.java) (3认同)