import java.io.*;
import java.net.*;
public class Exam05 {
public static void main(String[]
args){
ServerSocket ss = null;
Socket soc =
null;
try{
ss = new ServerSocket(12345); //서버실행 포트12345를
열어논다.
System.out.println("Server Ready...");
}catch(IOException
ioe){ //해당포트 열려있을 경우 예외처리
System.out.println("해당 포트가 열려
있습니다.");
System.exit(-1);
}
try{
soc =
ss.accept(); //Client 측에서 전송되어온 정보를 soc 소켓에 담는다.
System.out.println("접속자 정보 : "+ soc.toString());
BufferedReader in
= new BufferedReader(new InputStreamReader(soc.getInputStream())); //soc의
InputStream을 얻어온다.
String str = in.readLine(); //전송되어온 내용을 String 변수
str에 저장
System.out.println("전송된 내용 : " +
str);
soc.close();
}catch(IOException
ioe){}
}
}
//=================================
간단하게 서버를 만들어
실행시키는 프로그램.
accept얻어는 값을 soc 소켓에 저장을 하는데 soc 소켓에는 접속된 클라이언트의 여가지 정보를
갖고있다
예를 들어
public
InetAddress getInetAddress() : 소켓이 연결된 주소를
리턴한다.
public
InputStream getInputStream() : 소켓에 대한 입력
스트림을 리턴한다.
public
InetAddress getLocalAddress() : 소켓이 바인드된 국지
주소를 가져온다.
public int
getLocalPort() : 소켓이 바인드된 국지
Port를 리턴한다.
public
OutputStream getOutputStream() : 소켓에 대한 출력
스트림을 리턴한다.
public int
getPort() : 소켓이 연결된 원격
Port를 리턴한다.
public int
getSoLinger() : SO_LINGER에
대한 설정을 리턴한다.
public int
getSoTimeout() : SO_TIMEOUT에 대한 설정을 리턴한다.
public
boolean getTcpNoDelay() :
TCP_NODELAY가 사용 가능한지 여부를 테스트한다
이외에도 몇가지가 있지만...
여기서 많이 쓰이는
getInetAddress() : 접속된 클라이언트 주소 얻어온다.
getport() : 접속된 클라이언트의 포트 번호 를
얻어온다.
getInputStream() : 소켓에대한 입력스트림 을 리턴