I/O&socket통신 POWERPOINT & GROUP STUDY 한재희 김상훈 최기람 황인준 이어진.

Slides:



Advertisements
Similar presentations
HTTPS Packet Capture Tutorial
Advertisements

1 안드로이드 네트워킹 안드로이드 앱 프로그래밍 여 규리.
자바네트워크 제2주 바이트 입출력 스트림, 필터 입출력 스트림 컴퓨터시뮬레이션학과 2014년 봄학기 담당교수 : 이형원
캡스톤 프로젝트(자바) 입출력.
입출력 I/O 유진석.
네트워크 프로그래밍 및 실습.
6장. GCF (Generic Connection Framework)
자바 5.0 프로그래밍.
Java의 정석 제 14 장 입출력(I/O) Java 정석 남궁성 강의
입출력 14.1 java.io 패키지의 개요 14.2 파일과 디렉토리
[ 단원 11 ] 입출력과 네트워크.
28강 JAVA 입출력(I/O) 알아보기 - 입출력(I/O) 이란? - JAVA 입출력 API(Input~, Output~)
Java Socket 통신 이개혁 정대준.
CHAP 22. 블루투스.
10. 예외 처리.
제9장 입출력과 JNI.
인공지능실험실 석사 2학기 이희재 TCP/IP Socket Programming… 제 11장 프로세스간 통신 인공지능실험실 석사 2학기 이희재
5강. Servlet 본격적으로 살펴보기-I 프로젝트 만들기 doGet() doPost()
Ch.07-5 xml-rpc 사용하기 김상엽.
Network Lab. Young-Chul Hwang
Department of Computer Science and Engineering
10장 예외 Lab 10-1.
제 09 장 데이터베이스와 MySQL 학기 인터넷비즈니스과 강 환수 교수.
소켓 모델 주소 지정 in_addr_t inet_addr(const char *ip_address) 연결 지향 모델 (TCP)
Chap11 네트워킹 11.1 네트워킹의 개요와 java.net 패키지 11.2 인터넷 주소와 URL 11.3 TCP 소켓
웹 서버 동작 HTTP 클라이언트가 서버와 대화하는 방법과 데이터를 서버에서 클라이언트로 전송 하는 방법을 정의한 프로토콜
파일 입출력에 사용되는 자바 클래스들 JDK 라이브러리의 파일을 다루는 클래스들 파일의 내용을 읽고 쓰는 클래스들
Java 12장. 입출력 public class SumTest {
7장 파일과 데이터베이스.
14.3 문자(character) 스트림과 바이트(byte) 스트림
Java Programming Language (4)
8.1 인터페이스 개요와 인터페이스 정의 8.2 인터페이스의 사용 8.3 인터페이스의 상속 8.4 인터페이스 참조
JAVA ADVANCED File IO IT 아카데미.
31강 JAVA 네트워크 JAVA 네트워크 InetAdress, URLConnection 클래스 Socket의 이해
네트워킹 CHAPTER 13 Section 1 네트워킹의 개요와 java.net 패키지 Section 2 인터넷 주소와 URL
명품 JAVA Programming 제 16 장 네트워크.
자바네트워크 제9주 TCP/IP 클라이언트 소켓 컴퓨터시뮬레이션학과 2014년 봄학기 담당교수 : 이형원
인공지능실험실 석사 2학기 이희재 TCP/IP Socket Programming… 제 7장 소켓 연결의 우아한 종료 인공지능실험실 석사 2학기 이희재
Chapter 06. UDP 서버/클라이언트.
TCP/IP 응용 프로그램에 적용 가능한 다양한 소켓 옵션을 이해하고 활용한다.
NJM Messenger 박상원 박연호.
모바일 자바 프로그래밍 JDBC / WAP Ps lab 오민경.
메시지 큐[5] – test1.c 메시지 제어: msgctl(2) #include <sys/msg.h>
Java의 정석 제 15 장 네트워킹(Networking) Java 정석 남궁성 강의
TCP/IP Socket Programming…
Socket Address Structure and Byte Ordering Functions
10장. 예외처리.
15장 네트워킹 15.1 네트워킹의 개요와 java.net 패키지 15.2 인터넷 주소와 URL 15.3 TCP 소켓
Chapter 5 UDP Socket 소켓 프로그래밍.
입출력 CHAPTER 12 Section 1 java.io 패키지 개요 Section 2 파일과 디렉터리
Method & library.
유승석 FILE I/O File Input/Output 유승석 SD50 – C# & .NET Platform.
RMI Messenger 지도 : 김정배 교수님 조봉진.
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
Lesson 2. 기본 데이터형.
자바 암호 프로그래밍 Java Cryptography Programming
자바로 만든 채팅 프로그램 임경진 조주경 지도교수님 : 이광세 교수님.
15강. 폼 데이터 값 검증 Validator를 이용한 검증 ValidationUtils 클래스
8장 네트워크.
18강. 인터페이스 – II - 인터페이스와 다중상속 - 인터페이스를 통한 로봇 장남감 만들기 프로그래밍
제 19 장 TCP 대화식 데이터 흐름.
12강. 컨트롤러 컨트롤러 클래스 제작 요청 처리 메소드 제작 뷰에 데이터 전달
MIDP 네트워크 프로그래밍 ps lab 김윤경.
다자간 채팅프로그램 김형도 허영민
JSP Programming with a Workbook
06. 디바이스의 등록과 해제 김진홍
Network Lab. Young-Chul Hwang
Completion Port기반의 채팅프로그램
M.B.TEAM 중간 발표 (5.18) 이 제걸 백 인호.
중간 결과 보고 ( Server & Client )
Presentation transcript:

I/O&socket통신 POWERPOINT & GROUP STUDY 한재희 김상훈 최기람 황인준 이어진

INDEX I/O 의 개념 JAVA.IO 패키지의 주요클래스 InputStream OutputStream 예제 만들기 코드 및 결과보기 InputStream OutputStream 관련 메소드 질의응답

A FUNDAMENTAL CONCEPT IN INPUTSTREAM & OUTPUTSTREAM I/O의 개념 A FUNDAMENTAL CONCEPT IN INPUTSTREAM & OUTPUTSTREAM 입력(Input)과 출력(Output) : 어떤 방향으로의 데이터의 흐름(Stream)을 말하는 것.  java.io 패키지는 I/O 에 관련된 많은 클래스를 제공한다. 흐름의 방향에 따른 분류 : 입력스트림, 출력스트림 데이터의 형태에 따른 분류 : 문자스트림, 바이트스트림

major class in Jaba.IO package JAvA.IO 패키지의 주요클래스 major class in Jaba.IO package Stream (In/Out) 바이트 단위로 데이터를 읽는다. 외부로의 입출력을 수행하는 클래스들. Reader : 문자기반(2bytes)으로 읽어 들이는 기능. Write : 문자기반 (2bytes) 으로 출력하는 기능. File : 물리적인 파일과 directory 처리 Data: 자바의 원시 자료형을 출력하는 기능. Buffered : 시스템의 버퍼를 사용하는 기능.

JAvA.IO 패키지의 주요클래스 InputStream : 바이트 입력 스트림을 위한 추상 클래스. OutputStream : 바이트 출력 스트림을 위한 추상 클래스. major class in Jaba.IO package

JAvA.IO 패키지의 주요클래스 Reader : 2바이트 문자단위로 데이터 입력. Writer : 2바이트 문자단위로 데이터 출력. major class in Jaba.IO package

InputStream& outputstream method In/outstream 관련 메소드 InputStream& outputstream method InputStream int read() : int read(byte []) : int read(byte[], int s, int len) : void close() : OutputStream void write(int value) : void write(byte[] bytes) : void write(byte[] bytes, int s, int e) :

JAvA.IO 패키지의 주요클래스 FilterInputStream / FilterOutputStream : InputStream이나 OutputStream은 byte 단위로 읽고 쓰기를 하기 때문에 char, int ,double, String과 같은 것을 처리하려면 많은 어려움이 있다. 그러나 필터 스트림을 이용하면 수월하게 처리할 수 있다. major class in Jaba.IO package

JAvA.IO 패키지의 주요클래스 DataInputStream/ DataOutputStream : 이 두 클래스는 각각 FilterInputStream과 FilterOutputStream을 상속하고, 각각 DataInput 인터페이스와 DataOutput 인터페이스를 구현한다.  major class in Jaba.IO package

예제 만들기 : messenger SOCKET, DATAINPUTSTREAM, DATAOUTPUTSTREAM을 이용한 다중 채팅 프로그램 통신의 종류는 크게 TCP와 UDP로 나뉘는데 TCP는 데이터 수신 여부를 확인하는 신뢰성 있는 실시간 프로토콜이고 송수신 시간이 다소 걸린다는 단점이 있다. UDP는 데이터 수신여부를 확인하지 않는 비 동기 프로토콜이다. 일반적인 채팅은 실시간으로 데이터가 송,수신되므로 TCP를 이용해야 한다.

Socket과 Socket Server 서버 Server socket Socket Socket 클라이언트 Socket 소켓은 서버가 로컬 IP를 가지고 Port를 열고(Bind) 클라이언트 접속을 기다린다. (Listen) 그리고 클라이언트는 서버의 IP주소와 Port로 접속(Connection)해서 연결되면, 서버와 클라이언트는 Send, Recieve형태로 패킷을 주고받는다. 서로의 통신이 끝나면 close로 접속을 끊는다. SocketServer는 client에서 server로 통신 연결 요청이 오면 Socket을 생성해주는 역할을 한다. 서버 Server socket Socket 생성 Socket Socket DataInputStream.readUTF(); DataOutputStream.writeUTF(); DataInputStream.readUTF(); DataOutputStream.writeUTF(); 연결요청 클라이언트 Socket DataInputStream.readUTF(); DataOutputStream.writeUTF(); 데이터 수신 데이터 송신 클라이언트 Socket DataInputStream.readUTF(); DataOutputStream.writeUTF(); 데이터 수신 데이터 송신 SOCKET, DATAINPUTSTREAM, DATAOUTPUTSTREAM을 이용한 다중 채팅 프로그램

서버 Server socket Socket 클라이언트 Socket DataInputStream.readUTF(); DataOutputStream.writeUTF(); in = new DataInputStream(socket.getInputStream()); out = new DataOutputStream(socket.getOutputStream()); name = in.readUTF(); sendToAll(in.readUTF()); sendToAll("#" + name + "님이 나가셨습니다."); 클라이언트 Socket DataInputStream.readUTF(); DataOutputStream.writeUTF(); 데이터 수신 데이터 송신 this.out = new DataOutputStream(socket.getOutputStream()); this.in = new DataInputStream(socket.getInputStream()); out.writeUTF(name); out.writeUTF("[" + name + "] " + message); MultichatGUIClient.this.setMessage(in.readUTF()); SOCKET, DATAINPUTSTREAM, DATAOUTPUTSTREAM을 이용한 다중 채팅 프로그램

HERE ARE THE MATERIALS WE PREPARED. If you have any questions, please feel to ask. THANK YOU HERE ARE THE MATERIALS WE PREPARED.