JSP 1일차

MOZZI KIM·2022년 11월 22일
0

JSP

목록 보기
2/10
post-thumbnail

1. 1:1 채팅을 짜시오.

public class TServer {

	public static void main(String[] args) {
		ServerSocket ss = null;
		Socket s = null;
		
		try {
			ss = new ServerSocket(7777);
			s = ss.accept();
			
			Sender sender = new Sender(s);
			Receiver receiver = new Receiver(s);
			
			sender.start();
			receiver.start();
			
		} catch (Exception e) {
			// TODO: handle exception
		}
	}

}
------------------------------------------------------------------------
public class TClient {

	public static void main(String[] args) {
		
		String IP = "127.0.0.1";
		
		try {
			Socket socket = new Socket(IP, 7777);
			System.out.println("서버에 연결되었습니다.");
			
			Sender sender = new Sender(socket);
			Receiver receiver = new Receiver(socket);
			
			sender.start();
			receiver.start();
			
		} catch (Exception e) {
			// TODO: handle exception
		}
	}

}
----------------------------------------------------------------------
public class Receiver extends Thread {

	Socket socket;
	DataInputStream in;
	
	public Receiver(Socket socket) {
		try {
			in = new DataInputStream(socket.getInputStream());

		} catch (Exception e) {
			// TODO: handle exception
		}
	}

	public void run() {
		Scanner sc = new Scanner(System.in);
		while (in != null) {
			try {
				System.out.println(in.readUTF());
			} catch (Exception e) {
				// TODO: handle exception
			}
		}
	}

}
-----------------------------------------------------------------------
public class Sender extends Thread{
	Socket socket;
	DataOutputStream out;
	String name;
	
	public Sender(Socket socket) {
		try {
			out = new DataOutputStream(socket.getOutputStream());
			name = "[" + socket.getInetAddress() + ":" + socket.getPort() + "]";
			
		} catch (Exception e) {
			// TODO: handle exception
		}
	}
	
	public void run() {
		Scanner sc = new Scanner(System.in);
		while(out != null) {
			try {
				out.writeUTF(name + sc.nextLine());
			} catch (Exception e) {
				// TODO: handle exception
			}
		}
	}
	

}


2. 아래의 용어에 대하여 설명하시오.

  • Web Server (= HTTP Server)
  • WAS (Web Application Server)

3.Port Number (포트 번호) 란?

📌 포트번호의 정의

직역하면 '항구'라는 뜻으로, 컴퓨터 관련 분야의 의미로는 운영 체제 통신의 종단점을 뜻한다.

  • 하드웨어 : 컴퓨터의 주변 장치와 연결하기 위한 연결단 (물리적 통로)

  • 소프트웨어 : 네트워크 서비스나 특정 프로세스를 식별하는 논리적 단위 (논리적 통로)

📌 소프트웨어적 의미

데이터 송수신시, Datalink 계층에서는 호스트의 NIC*로 MAC Address를 판별하고,

Network 계층에서는 IP Address로 목적지를 판별한다.

Mac Address와 IP Address를 통해 목적지 호스트까지 도달한 후에는 어떤 프로세스에서 데이터를 받을 것인지를 알아야 하는데 이 때 쓰이는 것이 포트 번호이다.

NIC(Network Interface Card) : 이더넷 카드 및 네트워크 어댑터라고도 하며, 응용프로그램에서 받은 데이터를 네트워크 형식에 맞게 변환하여 전송해 주는 기능을 하는 하드웨어 장치이다.

📌 포트의 정확한 개념

  • OSI 7 계층의 전송 계층에서 동작하는 TCP / UDP에서 Application이 상호구분을 위해 사용하는 번호이다.

  • IP 내에서 프로세스 구분을 위해 사용하며, 각 프로토콜의 데이터가 컴퓨터 내부의 논리적 통로를 따라 흐른다.

  • 네트워크를 통해 데이터를 주고받는 프로세스를 식별하기 위해 호스트 내부적으로 프로세스가 할당받는 고유한 값.

⭐포트 번호⭐

  • Port Number는 16bits로 이루어져 있다.

  • 2의 16승이므로 총 65536개의 번호가 존재할 수 있다.

  • 번호는 크게 3가지로 분류한다.

    1) Well-known Ports ( 잘 알려진 포트 ) : 0번 ~ 1023번
    2) Registered Ports ( 등록된 포트 ) : 1024번 ~ 49151번
    3) Dynamic Ports ( 동적 포트 ) : 49152번 ~ 65535번

    • 사용자가 임의로 사용 가능한 포트 번호이다.

📌 포트 번호 표기법

  • 일반적으로 IP Address 뒤에 콜론 ( : )을 붙여 표기한다.
    ex) 192.168.100.1:3053

4. 프로토콜(Protocol)이란 무엇이며, 프로토콜의 종류는?

📌 프로토콜(Protocol)이란?

통신 프로토콜 또는 통신 규약은 컴퓨터나 원거리 통신 장비 사이에서 메시지를 주고 받는 양식과 규칙의 체계이다. 즉 통신 규약 및 약속이다.

📌 프로토콜의 기본 요소

  • 구문(Syntax) : 전송하고자 하는 데이터의 형식(Format), 부호화(Coding), 신호 레벨(Signal Level) 등을 규정
  • 의미(Semantics) : 두 기기 간의 효율적이고 정확한 정보 전송을 위한 협조 사항과 오류 관리를 위한 제어 정보를 규정
  • 시간(Timing) : 두 기기 간의 통신 속도, 메시지의 순서 제어 등을 규정

5.웹서버 종류는?

📌웹서버의 종류는 대표적으로 Apache, IIS, Nginx 가 있다.



profile
코린이

0개의 댓글