티스토리 뷰

졸업작품

소켓 통신 예제 - 자바 서버

doublemetal 2013. 5. 14. 01:26

S: Connecting... 이라는 메시지가 출력되고

클라이언트가 붙으면 S: Receiving... 시작으로 여러 문자열들이 출력되는 소스 

출처는 너무 많고 기억도 안남. 웹 검색으로 나오는 소스가 대략 2~3가지인데 그 중에 하나임



package TCPtest;


import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.InputStreamReader;

import java.io.OutputStreamWriter;

import java.io.PrintWriter;

import java.net.InetAddress;

import java.net.ServerSocket;

import java.net.Socket;


public class TCPserver implements Runnable {

public static final int ServerPort = 5555; // ex: 5555


@Override

public void run() {

// TODO Auto-generated method stub

try {

ServerSocket serverSocket = new ServerSocket(ServerPort);

System.out.println("S: Connecting...");

System.out.println(InetAddress.getLocalHost().getHostAddress());

while (true) {

Socket socket = serverSocket.accept();

System.out.println("S: Receiving...");


try {

BufferedReader in = new BufferedReader(

new InputStreamReader(socket.getInputStream()));

String str = in.readLine();

System.out.println("S: Received: '" + str + "'");

PrintWriter out = new PrintWriter(new BufferedWriter(

new OutputStreamWriter(socket.getOutputStream())),

true);

out.println("Server Received " + str);


} catch (Exception e) {

System.out.println("S: Error");

e.printStackTrace();

} finally {

socket.close();

System.out.println("S: Done.");


}

}

} catch (Exception e) {

System.out.println("S: Error");

e.printStackTrace();

}

}

public static void main(String[] args) {

// TODO Auto-generated method stub

Thread desktopServerThread = new Thread(new TCPserver());

desktopServerThread.start();

}

}


댓글
  • 프로필사진 학생 작성자님 혹시 실행해 보셧나요?
    manifast까지 수정했는데
    Connection Refucce에러 뜨는데;;
    2013.08.02 07:27
  • 프로필사진 doublemetal 실행 환경이 어떻지 되시는지..
    그리고 어느 부분에서 에러가 나는지 디버깅 해보세요
    서버쪽 콘솔창에 S: Receiving... 메시지가 뜬다면 반은 성공한 거라고 보면 되요, 클라이언트가 붙었다는 뜻이니까요
    2013.08.02 21:56 신고
댓글쓰기 폼