[back-end]/자바-소켓 6

소켓프로그래밍 - 멀티 유저 채팅 프로그램

다중의 클라이언트끼리 채팅하는 프로그램 - 각각 클라이언트마다 서버가 1:1로 연결되어 있으나 서버는 입력,출력하는 역활을 하지 않고 클라이언트가 입력한 값을 받아서 서버에 연결되어 있는 모든 클라이언트에게 전송하는 쓰레드를 만들고, 관리하는 역활만 함 TCP 서버 package ex06multiuser2; import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; import java.util.ArrayList; //tcp 서버 클래스 class ServerClass { private ArrayList threadList = new ArrayList(); public ServerClass(int port) throw..

소켓프로그래밍 - 양방향 소켓

클라이언트와 서버가 1:1 통신하는 프로그램 - Socket을 받아서 해당 Socket으로 문자 전송하는 쓰레드(입력쓰레드), 문자 받는 받는 쓰레드(출력쓰레드) 만듬 - 서버 실행 후 listen 상태에 있다가 connect 될때마다 입력쓰레드, 출력쓰레드 생성 - 클라이언트 실행 시 서버에 연결 후 입력쓰레드, 출력쓰레드 생성 - 서버 입력쓰레드 -> 클라이언트 출력쓰레드, 클라이언트 입력쓰레드 -> 서버 출력쓰레드 입력 쓰레드 package ex05threadtcp; import java.io.DataOutputStream; import java.io.IOException; import java.net.Socket; import java.util.Scanner; class ThreadSend ext..

소켓프로그래밍 - 단방향 소켓 프로그램

단방향 소켓 프로그램 - 서버 소캣을 열어놈 - 클라이언트에서 접속 시도 - 접속 성공시 서버에서 "여보세요~" 문자열 클라이언트에 전송 - 클라이언트 접속 해제 TCP 서버 package ex01tcp; import java.io.DataOutputStream; import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; public class TCPServer { //전화 받는쪽 public static void main(String[] args) throws IOException { //1024이하의 포트 번호는 고정 포트기 때문에 사용X, 그외 아무 포트 사용 가능 ServerSocket ss = new Serv..

program, process, thread

- 프로그램(program) : 어떤 파일이나 소스가 디스크에 있는 상태 ex) 메모장 실행파일 notepad.exe - 프로세스(process) : 디스크에 있는 프로그램이 메모리에 올라와 있는 상태 ex) 메모장이 화면에 보일때 - 쓰레드(thread): 프로세스 위에서 동작하는 경량 프로세스(Lightweight Process), 기본은 1 process - 1 thread 1. single thread: 1 process - 1 thread (작업이 발생할 때마다 프로세스를 생성해야되서 시스템 과부화가 생김) ex) 일하는 사원 1명 - 복사기 1대 2. multi thread: 1 process - 여러 thread (시스템 과부화를 줄여줌) ex) 일하는 사원 1명 - 복사기 3대 thread..

소켓 프로그램

- 웹 소켓: A 와 B가 연결을 할려 그럼 A ip, A port, B ip, B port 가 필요 A는 connect 상태 B는 listen 상태였다가 전송이 오면 accept 상태가 됨(통신이 연결됨) send / receive A close, B close - 일방형 통신 프로그램(무전기) 서버 package tcp; import java.io.DataOutputStream; import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; public class TCPServer { //전화 받는쪽 public static void main(String[] args) throws IOException { //1024..

웹 프로그램

웹 프로그램 - client side: front-end, UI(UX designer, web designer, front-end developer) html, css, javascript, jquery(js framework), ajax server side: back-end(db관리자, server 관리자, back-end developer) jsp, servlet, el, jstl c/s 모델 - 시스템에 독립적 http : 인터넷 IoT(Internet of Things): 사물인터넷, 모든 사물이 인터넷에 연결되어 짐 인터넷은 4단계로 이루어짐(OSI 7 Layer으로부터 나옴) OSI 7 Layer: - OSI는 ISO에서 규정한 국제 표준 네트워크 모델로 7 Layer로 구성됨 Please ..