본문 바로가기
자바로 만든 업무일지

업무일지 로그온 로그아웃 화면 설정 [김철수홍길동]

by 세상 모든 것 들은 그 자신을 위해 존재한다. 2020. 12. 18.

이제 부터가 초기설정마지막 입니다.

초기설정이라고 하기도 좀 애매한 화면인데.

설정한 사항의 적용을 위해 프로그램을 종료후 재시작 해주세요.

그전에 로그인 화면을 선택하면

아래의 화면을 볼수가 있습니다.

아래의 화면은 설정 화면입니다.

설정 화면에서 왠만한 설정을 다하도록 만들었습니다.

공지사항 부분만 관리자 화면에서 할수 있도록 하였습니다.

자그럼 아래의 그림을 잘보시고 진행 하시면 되겠습니다.  

처음실행시에만 이런 메세지가 나옵니다.

이미로그온 되었다는 메세지 입니다.

초기설정을 위한 상황이라 나오는 메세지 이므로 

여기 화면에서는 여러가지 기능이 사용 불가능합니다.

꼭 재시작후 에 사용해 주시기 바랍니다.

재시작 하지 않으면 다른 기능을 사용 하실수 없게 됩니다.

지금까지 적용한 설정을 정상적으로 사용하기 위해서도 꼭 재시작을 권장합니다.

재시작 하면 아래의 화면이 다시 나옵니다.

보시고 따라 하시면 되겠습니다.

로그온 하기를 원하시는 아이디와 패스워드를 넣고 로그온 하시면 되겠습니다.

아이디는 사용자등록에서 설정한  ID 이며 패스워드는 초기는 숫자 0 이고

변경또한 하실수 있습니다.

초기에는 관리자로 로그온 하시면 둘러보기가 좋습니다.

관리자가 아니면 일부기능이 제한 되므로 초기에는 관리자 권한의 로그온을 권장합니다.

이제 초기설정이  끝났습니다.

비밀번호 변경을 원하시면 비밀번호를 변경해 주시면 되겠습니다.

ADMIN 버튼은 ADMIN으로 로그온 해야만 사용이 가능합니다.

 

 

초기설정이 좀 길었습니다.

글자와 그림으로 할려니 양이 많은것 처럼 보이지만

이런 종류의 프로그램을 자주 사용 해보신 경우라면

그냥 대충만 그림만 봐도 이해 하실거라 믿습니다.

생각 보다 부족 한것이 많은 게 사실 입니다.

부족한것이 있으면 언제든 댓글이나 멜로 연락을 주세요.

사소한 것 하나라도 수정해 드리겠습니다.

회사의 로고나 사진  뭐 이런 단순하고 간단한것도 해드립니다.

아무거나 한번 주문 해보세요. 

실력이 안되어서 못해드리는 것 은 어쩔수 없지만 

왠만한 것은 하는 쪽으로 해드리겠습니다.

 

TCP/IP SOCKET 를 이용한 서버 클라이언트 통신 예제 입니다. 

먼저 SERVER 예제 입니다.

이클립스를 따로 하나더 열어서 SERVER 를 먼저 실행하고

CLIENT를 실행 해야 됩니다. 그렇지 않으면 둘중 하나는 명령창에서 실행을 해야 합니다.

 

SERVER 사용 예제 ) 코드를 복붙 하여 실행해 보시기 바랍니다.

설명은  주석과 코드 아랫부분에  있습니다.

import java.io.IOException;
import java.net.InetSocketAddress;
import java.net.ServerSocket;
import java.net.Socket;

public class ServerSample {

	public static void main(String[] args) {
		/////////////////tcpip 소켓을 이용한 접속 서버클래스  예제 입니다.
		// 맨아래 if문에서 socket이 닫히지 않았으면 socket을 닫아야 할때를 위해서
		// try문 바깥에 선언을 먼저 해준다.try문 안쪽에 선언하면 지역 변수가 되어서 안된다.
        //서버 소켓과 TCP/IP 연결을 위한 준비를 합니다.
		ServerSocket serverSocket = null;
		InetSocketAddress isa = null;

		//모든 ip의 접속을 다 받겠다는 의미
		//특정한 ip만 받을 경우는 그아이피를 넣어주면 됩니다.
		String strServerListenIp = "0.0.0.0";

		//외부포트는 임의로 정해 준것입니다. 
		//앞쪽에 낮은번호는 예약이 되어 있어 
		//임의 사용이 가능한 뒸쪽의 번호를 사용함
		int nServerListenPort = 8888;

		try {
			// 소켓을 생성합니다.
			serverSocket = new ServerSocket();

			// 접속받을 범위 와 포트를 지정합니다.
			isa = new InetSocketAddress(strServerListenIp, nServerListenPort);

			// 바인딩을 하고 CLIENT가 접속해오기를 기다립니다.(listen....)
			serverSocket.bind(isa);

			while (true) {
				System.out.println("Listening ....");

				// 연결이 되면 연결된 클라이 언트에 대한 소켓을 생성함
				// 연결이 오면 바로 받음
				Socket socket = serverSocket.accept();

				// tcp/ip로 연결된 소켓의 정보를 얻기 위해 InetSocketAddress를 사용
				isa = (InetSocketAddress) socket.getRemoteSocketAddress();

				System.out.printf("요청한 연결을 확인함 :  [%s] [%d]\n " , isa.getHostName(),nServerListenPort);
			}
		} catch (Exception e) {
		}

		if (!serverSocket.isClosed()) {
			try {
				serverSocket.close();
			} catch (IOException e1) {
			}
		}

	}

}

//결과는 :

//Listening ....
//요청한 연결을 확인함 :  [127.0.0.1] [8888]
//Listening ....

 

 

네트워크 통신 포트 간략한 설명 입니다.

0번 ~ 1023번 : 까지는 예약된(잘알려진) 포트 입니다. 

   .FTP,HTTP,TELNET 등 이 있습니다.

1024번 ~ 49151번: 등록된 포트 (registered port)

49152번 ~ 65535번: 동적 포트 (dynamic port)

 

0번 부터 1023까지만 임의로 사용하지 않으면 문제는 없는것 같습니다.

 

 

 

CLIENT 사용 예제 ) 코드를 복붙 하여 실행해 보시기 바랍니다.

설명은  주석과 코드 아랫부분에  있습니다.

import java.io.IOException;
import java.net.InetSocketAddress;
import java.net.Socket;

public class ClientSample {

	public static void main(String[] args) {
		// 맨아래 if문에서 socket이 닫히지 않았으면 socket을 닫아야 할때를 위해서
		// try문 바깥에 선언을 먼저 해준다.try문 안쪽에 선언하면 지역 변수가 되어서 안된다.
		
		//자기PC의 루프백 아이피 입니다. localhost와 같습니다.
		String strServerIP = "127.0.0.1"; 
		
		//외부포트는 임의로 정해 준것입니다. 
		//앞쪽에 낮은번호는 예약이 되어 있어 
		//임의 사용이 가능한 뒸쪽의 번호를 사용함
		int nServerPort = 8888;
		
		//네트워크 접속시 기다리는 시간을 정함.
		int nDelayTime=10000;
		
		InetSocketAddress isaSvr = null;
		Socket socket = null;

		try {
			socket = new Socket();

			System.out.println("서버와 연결을 시도 합니다....");

			isaSvr = new InetSocketAddress(strServerIP, nServerPort);
			
			socket.connect(isaSvr, nDelayTime);
			
			System.out.printf("연결이 성공 되었습니다.[%s] [%d]\n",strServerIP, nServerPort);

		} catch (Exception e) {
		}

		if (!socket.isClosed()) {
			try {
				socket.close();
			} catch (IOException e1) {
				System.out.println("예외 발생 : " + e1.getLocalizedMessage());
			}
		}

	}
}
//결과는 :

//서버와 연결을 시도 합니다....
//연결이 성공 되었습니다.[127.0.0.1] [8888]

 

지금 서버와 클라이언트의 연결 예제는

서버는 WHILE 문으로 무한 반복하면서 기다리는 경우이고

클라이 언트는 접속 하자 마자 바로 연결을 끊는 경우 입니다.

 

실제 코딩을 할때는 이렇게 하면 데이터를 전달 할수 없습니다.

접속후 데이터를 주고 또는 주고 받은 후에 접속을 끊을것인지 유지 할것인지를 결정합니다.

실전에서는 클라이언트가 여러대 인경우 가 많으므로 서버에서 쓰레드를  사용 합니다.

 

 

설명끝.

 

뒤로가기 링크

 

 

 

728x90
반응형

댓글