소메뉴

메인메뉴

2017.08.22 Tuesday 옥창원은 살아있다

팁&테크


자바 소켓 서버 base - example source

조회 수 296016 추천 수 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 168773
29 [HTML5] Server-Sent-Event(SSE) 사용하기 [1961] Lepas 2011-12-14 159001
28 스프링3 프레임워크 강좌 블로그 [3450] Lepas 2011-06-21 230910
» 자바 소켓 서버 base - example source [3407] Lepas 2010-12-30 296016
26 우분투에서 웹서버 환경 구축하기 (LAMP or APM) [1922] Lepas 2010-10-07 198260
25 유용한 css 선택자 [3141] Lepas 2010-09-08 268821
24 HTML5의 모든것 file [2269] Lepas 2010-09-03 169016
23 [모바일웹] 아이폰 사파리에서 화면회전시 폰트 확대 방지 image [2468] Lepas 2010-08-18 220473
22 float을 clear하는 4가지 방법. image [1776] Lepas 2010-08-13 165530
21 패킷 캡쳐 프로그램 Fiddler [2208] Lepas 2010-07-30 215142
20 소스 비교 분석 프로그램 WinMerge [1988] Lepas 2010-07-24 182474
19 UIWebView와 APP간의 통신(communication [2919] Lepas 2010-06-03 360370
18 HTML5의 소개 및 지원되는 않는 브라우져에서의 사용법 (5 - Local Storage(like cookie), Web Worker(Thread)) [1922] Lepas 2010-06-02 171823
17 [HTML5] localStorage와 sessionStorage 그리고 클라이언트 DB [2439] Lepas 2010-06-02 202076
16 EditArea - Textarea 구문강조 [1965] Lepas 2010-03-12 178141
15 iPhone Web 제작용 iui [1953] Lepas 2010-02-11 187338
14 JQuery Library [2090] Lepas 2010-02-05 211535
13 jQuery 개발자를 위한 메모 - 레퍼런스 [3631] Lepas 2010-02-02 157142
12 jQuery 개발자를 위한 메모 - 기본·샘플 [1742] Lepas 2010-02-02 157550
11 The Objective-C Programming Language 한글 번역본 file [2974] Lepas 2010-01-24 204715