소메뉴

메인메뉴

2017.10.23 Monday 옥창원은 살아있다

팁&테크


자바 소켓 서버 base - example source

조회 수 297363 추천 수 0 2010.12.30 16:42:51

http://www.kieser.net/linux/java_server.html

 

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

/**
 * Title:        Sample Server
 * Description:  This utility will accept input from a socket, posting back to the socket before closing the link.
 * It is intended as a template for coders to base servers on. Please report bugs to brad at kieser.net
 * Copyright:    Copyright (c) 2002
 * Company:      Kieser.net
 * @author B. Kieser
 * @version 1.0
 */

public class sample_server {

  private static int port=4444, maxConnections=0;
  // Listen for incoming connections and handle them
  public static void main(String[] args) {
    int i=0;

    try{
      ServerSocket listener = new ServerSocket(port);
      Socket server;

      while((i++ < maxConnections) || (maxConnections == 0)){
        doComms connection;

        server = listener.accept();
        doComms conn_c= new doComms(server);
        Thread t = new Thread(conn_c);
        t.start();
      }
    } catch (IOException ioe) {
      System.out.println("IOException on socket listen: " + ioe);
      ioe.printStackTrace();
    }
  }

}

class doComms implements Runnable {
    private Socket server;
    private String line,input;

    doComms(Socket server) {
      this.server=server;
    }

    public void run () {

      input="";

      try {
        // Get input from the client
        DataInputStream in = new DataInputStream (server.getInputStream());
        PrintStream out = new PrintStream(server.getOutputStream());

        while((line = in.readLine()) != null && !line.equals(".")) {
          input=input + line;
          out.println("I got:" + line);
        }

        // Now write to the client

        System.out.println("Overall message is:" + input);
        out.println("Overall message is:" + input);

        server.close();
      } catch (IOException ioe) {
        System.out.println("IOException on socket listen: " + ioe);
        ioe.printStackTrace();
      }
    }
}

List of Articles
번호 제목 글쓴이 날짜 조회 수
30 이클립스 PHP + SVN [1] [1622] Lepas 2012-02-22 169754
29 [HTML5] Server-Sent-Event(SSE) 사용하기 [1961] Lepas 2011-12-14 159788
28 스프링3 프레임워크 강좌 블로그 [3450] Lepas 2011-06-21 231679
» 자바 소켓 서버 base - example source [3407] Lepas 2010-12-30 297363
26 우분투에서 웹서버 환경 구축하기 (LAMP or APM) [1922] Lepas 2010-10-07 199020
25 유용한 css 선택자 [3141] Lepas 2010-09-08 269912
24 HTML5의 모든것 file [2269] Lepas 2010-09-03 169797
23 [모바일웹] 아이폰 사파리에서 화면회전시 폰트 확대 방지 image [2468] Lepas 2010-08-18 221245
22 float을 clear하는 4가지 방법. image [1776] Lepas 2010-08-13 166312
21 패킷 캡쳐 프로그램 Fiddler [2208] Lepas 2010-07-30 215900
20 소스 비교 분석 프로그램 WinMerge [1988] Lepas 2010-07-24 183272
19 UIWebView와 APP간의 통신(communication [2919] Lepas 2010-06-03 361312
18 HTML5의 소개 및 지원되는 않는 브라우져에서의 사용법 (5 - Local Storage(like cookie), Web Worker(Thread)) [1922] Lepas 2010-06-02 172572
17 [HTML5] localStorage와 sessionStorage 그리고 클라이언트 DB [2439] Lepas 2010-06-02 202924
16 EditArea - Textarea 구문강조 [1965] Lepas 2010-03-12 178926
15 iPhone Web 제작용 iui [1953] Lepas 2010-02-11 188112
14 JQuery Library [2090] Lepas 2010-02-05 212367
13 jQuery 개발자를 위한 메모 - 레퍼런스 [3631] Lepas 2010-02-02 157963
12 jQuery 개발자를 위한 메모 - 기본·샘플 [1742] Lepas 2010-02-02 158445
11 The Objective-C Programming Language 한글 번역본 file [2974] Lepas 2010-01-24 205764