class InetAddress3{ public static void main(string[] args) throws Exception{ String url = null ; Scanner reader = new Scanner(System.in); System.out.p

Size: px
Start display at page:

Download "class InetAddress3{ public static void main(string[] args) throws Exception{ String url = null ; Scanner reader = new Scanner(System.in); System.out.p"

Transcription

1 네트워크프로그램작성 -네트워크예제는새로운프로젝트를만든후에패키지르만들지않은상태에서작성한다. -프로그램의컴파일과실행은 명령프롬프트 에서한다. -자바파일의컴파일은 javac 파일이름.java" 와같이실행한다. -컴파일되어생성된클래스파일의실행은 java 파일이름 와같이실행한다. -소켓을이용한프로그램은항상 요청을받는역할 의프로그램과 요청을보내는역할 의프로그램이존재하므로, 두개이상의명령프롬프트창을생성해서작업한다. InetAddress 클래스와 URL 를사용한예제 ) class InetAddress1{ public static void main(string[] args) throws UnknownHostException{ InetAddress addr1 = InetAddress.getByName(" InetAddress addr2 = InetAddress.getLocalHost(); System.out.println("============================================"); System.out.println( "addr1 = " + addr1.gethostaddress()); System.out.println( " 로컬주소 = " + addr2.gethostaddress()); System.out.println( " 로컬이름 = " + addr2.gethostname()); class InetAddress2{ public static void main(string[] args) throws Exception{ String url = null ; Scanner reader = new Scanner(System.in); System.out.print(" 웹사이트주소를입력하세요.>> "); url = reader.nextline(); InetAddress addr = InetAddress.getByName(url); System.out.println("============================================"); System.out.println( url +" 의 IP 번호 = " + addr.gethostaddress()); - 1 -

2 class InetAddress3{ public static void main(string[] args) throws Exception{ String url = null ; Scanner reader = new Scanner(System.in); System.out.print(" 웹사이트주소를입력하세요.>> "); url = reader.nextline(); InetAddress[] addr = InetAddress.getAllByName(url); System.out.println("============================================"); System.out.println(url + " 는 "+ addr.length + " 개의 IP주소를갖고있습니다."); for(int i = 0 ; i < addr.length ; i++){ System.out.println( (i+1)+" 번 IP 번호 = " + addr[i].gethostaddress()); class UrlExample{ public static void main(string[] args) throws Exception{ String url_str = null; Scanner reader = new Scanner(System.in); System.out.print(" URL 페이지입력 >> "); url_str = reader.readline().trim();//trim() : 쓸데없는공백제거메서드 URL url = new URL( url_str ); System.out.println(" 프로토콜 : " + url.getprotocol()); System.out.println(" 포트번호 : " + url.getport()); System.out.println(" 호스트 : " + url.gethost()); System.out.println("URL 내용 : " + url.getcontent()); System.out.println(" 파일경로 : " + url.getfile()); System.out.println("URL 전체 : " + url.toexternalform()); - 2 -

3 TCP 소켓프로그램 TCP 소켓은 ServerSocket 클래스와 Socket 클래스로구성된다. 통신은쌍방이존재해야의미가있는작업이므로, 한쪽이서버역할을하고다른쪽은클라이언트역할을한다. 쌍방이공통의포트번호를사용해야접속이이루어진다. Socket : 쌍방의접속을담당하며데이터송수신에사용되는 InputStream과 OutputStream 객체를가지고있다. ServerSocket : 지정된포트번호로입력되는요청이있는지대기한다. 입력된요청이감지되면 Socket 객체를생성해서쌍방간의통신이이루어지도록한다. 하나의포트에하나의 ServerSocket만연결할수있다. TCP 소켓사용방법 1. 클라이언트가 Socket을생성한다. 2. ServerSocket의 accept() 메소드가클라이언트의접속요청을확인한다. 3. 서버에 Socket이하나생성된다. 4. 새로생성된 Socket은클라이언트의 Socket과연결된다. ServerSocket(int port) ServerSocket 생성자지정된포트 (port) 번호로클라이언트의요청을받는 ServerSocket 객체를생성한다. 메소드클라이언트요청을받아들인다음에 Socket 객체를생성한 Socket accept() 후생성된 Socket 객체를리턴한다. void close() 서버소켓을닫는다. Socket 생성자 Socket(String host, int port) host : 접속할서버의 IP 주소 port : 접속에사용될포트번호 Socket(InetAddress addr, int port) addr : 접속할서버의 InetAddress 객체 메소드 InputStream getinputstream() 현재소켓에서사용할 InputStream 객체를리턴한다. OutputStream getoutputstream() 현재소켓에서사용할 OutputStream 객체를리턴한다. void close() 소켓을닫는다. InetAddress getinetaddress() 소켓에연결된원격컴퓨터의 InetAddress 객체를리턴한다. InetAddress getlocaladdress() 소켓에연결된지역컴퓨터의 InetAddress 객체를리턴한다. int getport() 소켓에연결된컴퓨터의포트번호를리턴한다. int getlocalport() 소켓에연결된지역컴퓨터의포트번호를리턴한다

4 소켓을이용한데이터송수신하기 : Server 쪽프로그램 ) import java.util.date; import java.text.simpledateformat; public class TcpIpServer { public static void main(string args[]) { ServerSocket serversocket = null; serversocket = new ServerSocket(7777);//7777번포트를사용하는서버소켓을생성 System.out.println(getTime()+" 서버가준비되었습니다."); catch(ioexception e) { e.printstacktrace(); while(true) { System.out.println(getTime()+" 연결요청을기다립니다."); // 서버소켓은클라이언트의연결요청이올때까지실행을멈추고계속기다린다. // 클라이언트로부터연결요청이오면통신할새로운소켓을생성한다. Socket socket = serversocket.accept(); System.out.println(getTime() + socket.getinetaddress() + " 로부터연결요청이들어왔습니다."); // 소켓의출력스트림을얻는다. OutputStream out = socket.getoutputstream(); DataOutputStream dos = new DataOutputStream(out); // 원격소켓 (remote socket) 에데이터를보낸다. //writeutf() 메소드를사용해서문자열을국제표준형태로 Stream에쓴다. dos.writeutf("[notice] Test Message1 from Server."); System.out.println(getTime()+" 데이터를전송했습니다."); dos.close();//stream을닫는다. socket.close();// 소켓을닫는다. catch (IOException e) { e.printstacktrace(); - 4 -

5 // main // while static String gettime() {// 현재시간을문자열로반환하는메소드 SimpleDateFormat f = new SimpleDateFormat("[hh:mm:ss]");// 시 : 분 : 초형태를의미 return f.format(new Date());// 날짜를위의형태로변환하여리턴 // class의끝 소켓을이용한데이터송수신하기 : Client 쪽프로그램 ) public class TcpIpClient { public static void main(string args[]) { String serverip = " ";// 본인컴퓨터의 IP 주소 System.out.println(" 서버에연결중입니다. 서버IP :" + serverip); Socket socket = new Socket(serverIp, 7777);// 소켓을생성하여연결을요청한다. // 소켓으로부터입력스트림을얻는다. InputStream in = socket.getinputstream(); DataInputStream dis = new DataInputStream(in); // 소켓에서받은데이터를출력한다. System.out.println(" 서버로부터받은메세지 :"+dis.readutf()); System.out.println(" 연결을종료합니다."); dis.close();//stream을닫는다. socket.close();// 소켓을닫는다. System.out.println(" 연결이종료되었습니다."); catch(connectexception ce) { ce.printstacktrace(); catch(ioexception ie) { ie.printstacktrace(); catch(exception e) { e.printstacktrace(); // main - 5 -

6 타임서버프로그램 ) import java.util.*; class TimeServer { public static void main(string[] args){ int port = 7000;// 통신연결에사용할포트번호. 임의로설정한다. try{ ServerSocket ss = new ServerSocket(port);// 서버소켓생성 //ss.setsotimeout(5 * 1000);//5초동안연결요청이없으면자동을종료한다. while(true){ Socket client = ss.accept();// 클라이언트로부터접속요청수락 OutputStream os = client.getoutputstream(); // 출력데이터를위해서 OutputStream 객체를생성 ObjectOutputStream oos = new ObjectOutputStream(os); // 날짜객체출력을위해서 ObjectOutputStream 생성 oos.writeobject( new Date() );// 날짜객체를소켓에씀 oos.flush();//stream을클라이언트로전송 oos.close();//stream 객체를닫는다. client.close();// 소켓을닫는다. catch(exception e){ System.out.println( e.getmessage()); - 6 -

7 타임클라이언트프로그램 ) import java.util.*; class TimeClient { public static void main(string[] args){ String server_ip; Date date = null; int port = 7000;// 서버소켓의포트번호와일치해야한다. try{ BufferedReader read = new BufferedReader(new InputStreamReader(System.in)); // 화면에서데이터를읽어오기위해서 BufferedReader 객체를생성 //Scanner 클래스를사용하지않고도, 화면에서데이터를읽을수있다. System.out.println(" 타임서버시간받아오기..."); System.out.print(" 타임서버아이피입력 : "); server_ip = read.readline();// 접속할서버소켓의주소를읽는다. Socket client = new Socket(server_ip, port);// 서버소켓과접속한소켓생성 InputStream is = client.getinputstream();// 연결된소켓으로부터 Stream을생성 ObjectInputStream ois = new ObjectInputStream(is);//Stream으로부터객체 Stream 생성 date = (Date)ois.readObject();// 객체스트림으로부터서버소켓이전송한날짜객체를읽는다. System.out.println(" 현재시간 :" + date);// 읽은날짜객체를화면에출력 ois.close();// 사용한 Stream을닫는다. client.close();// 소켓을닫는다. catch(exception e){ System.out.println( e.getmessage()); - 7 -

8 에코서버프로그램 ) 이프로그램은클라이언트에서전송한메시지가서버로갔다가다시클라이언트로되돌아온다. import java.util.*; class EchoServer { public static void main(string[] args){ int port = 5001;// 통신에사용할포트번호 try{ ServerSocket ss = new ServerSocket(port); while(true){ Socket client = ss.accept(); InputStream is = client.getinputstream(); ObjectInputStream ois = new ObjectInputStream(is); // 클라이언트에서송신한메시지를읽을 Stream을만든다. OutputStream os = client.getoutputstream(); ObjectOutputStream oos = new ObjectOutputStream(os); // 클라이언트로송신할 Stream 을만든다. oos.writeobject(ois.readobject()); // 클라이언트에서수신한메시지를읽자마자바로, 다시클라이언트로송신한다. oos.flush();// 클라이언트로전송 ois.close(); oos.close(); client.close(); catch(exception e){ System.out.println( e.getmessage()); - 8 -

9 에코클라이언트프로그램 ) 이프로그램은클라이언트에서전송한메시지가서버로갔다가다시클라이언트로되돌아온다. import java.util.*; class EchoClient { public static void main(string[] args){ String server_ip, send, receive; long start, end; int port = 5001; try{ BufferedReader read = new BufferedReader(new InputStreamReader(System.in)); System.out.println(" ***** 에코서버 ***** "); System.out.print(" 에코서버아이피입력 : "); server_ip = read.readline();// 접속할서버의주소를화면으로부터읽는다. System.out.println(" 에코문자열입력 : "); send = read.readline();// 전송할메시지를화면으로부터읽는다. Socket client = new Socket(server_ip, port);// 서버와접속할소켓생성 start = System.currentTimeMillis();// 전송시작시간 OutputStream os = client.getoutputstream(); ObjectOutputStream oos = new ObjectOutputStream(os); oos.writeobject(send);// 서버로전송할메시지를 Stream에쓴다. oos.flush();//stream을서버로전송한다. InputStream is = client.getinputstream(); ObjectInputStream ois = new ObjectInputStream(is);// 서버로부터수신할 Stream 생성 receive = (String)ois.readObject();//Stream 을부터메시지를문자열형태로읽는다. end = System.currentTimeMillis(); // 전송완료시간 System.out.println(" 에코반응시간 : " +(end-start)+" 밀리초 " ); System.out.println(" 수신에코문자열 :" + receive); ois.close();// 사용한 Stream 을닫는다. oos.close();// 사용한 Stream 을닫는다. client.close();// 사용한소켓을닫는다

10 catch(exception e) { System.out.println( e.getmessage() ); 간단한채팅서버프로그램 ) 이프로그램은클라이언트에서전송한메시지가서버의화면에나타나는프로그램이다. class ChatServer { public static void main(string[] args){ int port = 5005;// 채팅서버포트번호 try{ ServerSocket ss = new ServerSocket(port); while( true ){ Socket client = ss.accept();// 클라이언트와접속성공후소켓생성 InputStream is = client.getinputstream(); BufferedReader br = new BufferedReader(new InputStreamReader(is)); // 수신된메시지를읽을 Stream 생성 PrintStream ps = new PrintStream(System.out); // 화면출력에사용할 Stream 생성 ps.print( client.getinetaddress().gethostaddress() ); // 클라이언트의주소를가지고있는 InetAddress 객체를얻어와서, //InetAddress 객체로부터 IP 주소를불러와서화면에출력한다. ps.print(" : 에서수신메시지 >>" + br.readline()); br.close(); ps.close(); client.close(); catch(exception e){ System.out.println(e.getMessage());

11 간단한채팅클라이언트프로그램 ) 이프로그램은클라이언트에서전송한메시지가서버의화면에나타나는프로그램이다. class ChatClient { public static void main(string [] args){ int port = 5005; String server_ip, str; try{ PrintStream ps = new PrintStream(System.out); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); ps.print(" 접속할서버아이피 : >> "); server_ip = br.readline();// 화면에서서버의주소를입력한다. ps.print(" 전송할메시지 : >> "); str = br.readline();// 서버로전송할메시지를입력한다. Socket client = new Socket( server_ip, port );// 채팅서버와접속하여 Socket 생성 OutputStream os = client.getoutputstream(); BufferedWriter bw = new BufferedWriter( new OutputStreamWriter(os)); bw.write(str, 0, str.length());// 화면에서입력한메시지를 Stream에쓴다. bw.flush();//stream을서버로전송한다. bw.close();// 서버로메시지전송에사용한 Stream을닫는다. client.close();// 소켓을닫는다. ps.print( server_ip + " 에메시지전송성공!"); ps.close();// 화면으로부터메시지를입력받는데사용한 Stream을닫는다. catch(exception e){ System.out.println( e.getmessage());

12 1 : 1 채팅소켓프로그램 -여러사람들이서로채팅을하기위해서는하나의서버와하나의클라이언트만있어서는이루어질수없다. -메시지를주고받는다는것은, 메시지를보내는역할 ( 클라이언트 ) 을한후에는메시지를받는역할 ( 서버 ) 을해야한다는것을의미한다. -하나의컴퓨터에서클라이언트와서버의역할을동시에해야동시에메시지를주고받는채팅이가능하다. -서버의역할과클라이언트의역할을동시에할수있는방법은스레드 (thread) 를사용하는방법이다. -채팅하려는쌍방이각각서버역할의스레드와클라이언트역할의스레드를만들어서동시에실행시키면, 서로메시지를교환할수있는 1:1 채팅이이루어진다. -1:1 채팅소켓프로그램의구성은 1 서버역할의프로그램클라이언트와접속이이루어진후에는 3과 4의스레드를시작한다. 2 클라이언트역할의프로그램서버와접속이이루어진후에는 3과 4의스레드를시작한다. 3 메시지를보내는역할을하는스레드 4 메시지를수신하는역할을하는스레드

13 1 : 1 채팅서버프로그램 ) import java.util.scanner; public class OnetoOneServer { public static void main(string args[]) { ServerSocket serversocket = null; Socket socket = null; // 채팅에사용할포트번호를 7777 번으로설정함. 변경해도된다. serversocket = new ServerSocket(7777); System.out.println(" 서버가준비되었습니다."); socket = serversocket.accept();// 클라이언트와소켓연결 Sender sender = new Sender(socket);// 메시지전송에사용할스레드생성 Receiver receiver = new Receiver(socket);// 메시지수신에사용할스레드생성 sender.start();// 메시지전송목적의스레드시작 receiver.start();// 메시지수신목적의스레드시작 catch (Exception e) { e.printstacktrace(); // main // class

14 class Sender extends Thread { Socket socket; DataOutputStream out; String name; Sender(Socket socket) {//Sender 스레드의생성자. 스레드를만들때소켓이필요하다. this.socket = socket; out = new DataOutputStream(socket.getOutputStream()); // 소켓으로부터메시지전송에사용할 Stream을생성한다. name = "["+socket.getinetaddress()+":"+socket.getport()+"]"; catch(exception e) { public void run() { Scanner scanner = new Scanner(System.in); while(out!=null) { out.writeutf(name+scanner.nextline()); // 화면에서입력한메시지를닉네임과함께전송한다. catch(ioexception e) { // run()

15 class Receiver extends Thread { Socket socket; DataInputStream in; Receiver(Socket socket) {//Receiver 스레드의생성자. 스레드를만들때소켓이필요하다. this.socket = socket; in = new DataInputStream(socket.getInputStream()); // 소켓으로부터메시지수신에사용할 Stream을생성한다. catch(ioexception e) { public void run() { while(in!=null) { System.out.println(in.readUTF()); //Stream으로부터메시지를읽어서화면에그대로출력한다. catch(ioexception e) { // run

16 1 : 1 채팅클라이언트프로그램 ) public class OnetoOneClient { public static void main(string args[]) { String serverip = " ";// 접속할채팅서버의 IP 주소 // 본인의컴퓨터에서채팅서버와채팅클라이언트역할을수행하기위해 로설정 // 다른사람과채팅하기위해서는이주소를상대방컴퓨터의 IP 주소로변경한다. Socket socket = new Socket(serverIp, 7777); // 채팅에사용할서버의포트번호 (7777) 와일치시킨다. System.out.println(" 서버에연결되었습니다."); Sender sender = new Sender(socket); // 서버와접속한후메시지송신역할의스레드생성 Receiver receiver = new Receiver(socket); // 서버와접속한후메시지수신역할의스레드생성 sender.start();// 스레드시작 receiver.start();// 스레드시작 catch(connectexception ce) { ce.printstacktrace(); catch(ioexception ie) { ie.printstacktrace(); catch(exception e) { e.printstacktrace(); // main // class

17 멀티채팅프로그램작성 -멀티채팅은하나의채팅서버에수명의클라이언트가접속해서의견을교환한다. -하나의클라이언트에서서버로전송한메시지는그서버에접속한모든클라이언트창에출력된다. -서버는서버에접속한모든클라이언트의대화명과송수신에사용하는 Stream을저장해야한다. 왜냐하면, 서버에접속한모든클라이언트들에게클라이언트로부터전송된메시지를모두보내야하기때문이다. 클라이언트 1 대화명 : aha 안녕하세요 [aha] 안녕하세요 채팅서버 클라이언트 2 대화명 : yaho [aha] 안녕하세요 클라이언트 3 대화명 : yo [aha] 안녕하세요 - 채팅서버에접속한모든클라이언트의정보는 Map 을사용해서 대화명 을키값으로하고, 메시지송신에사용하는 Stream 을값으로저장한다. - 그러므로, 하나의클라이언트에서수신된메시지를 Map 에저장된모든클라이언트로전송할수있다

18 N : N 멀티채팅서버프로그램 ) import java.util.*; public class TcpIpMultichatServer { HashMap clients;// 모든클라이언트의정보를보관할 HashMap 정의 TcpIpMultichatServer() {// 생성자 clients = new HashMap();//HashMap을생성한다. Collections.synchronizedMap(clients);// 위에서생성한 HashMap에동기화를설정한다. // 즉, 많은클라이언트들의정보가하나의 HashMap에저장되므로, // 하나의클라이언트가 HashMap에작업을하는동안은다른클라이언트가 MashMap에 // 접근해서는안된다. 그러므로, 동기화를한다. // 컬렉션프레임워크에동기화를하는방법은 Collections 클래스를이용한다. public void start() {// 서버가작업을하도록하는메서드 ServerSocket serversocket = null; Socket socket = null; serversocket = new ServerSocket(7777);//7777 번포트를멀티채팅에사용한다. System.out.println(" 서버가시작되었습니다."); while(true) { socket = serversocket.accept(); System.out.println("["+socket.getInetAddress() + ":"+ socket.getport()+"]"+" 에서접속하였습니다."); ServerReceiver thread = new ServerReceiver(socket); thread.start();// 메시지수신용스레드를시작 catch(exception e) { e.printstacktrace(); // start()

19 void sendtoall(string msg) {// 서버에접속한모든클라이언트에메시지를전송하는메소드 Iterator it = clients.keyset().iterator(); // 현재서버에접속된모든클라이언트에메시지를전달하기위해서는반복작업이필요하다. // 컬렉션프레임워크에서반복작업을하려면, Iterator객체를이용해야한다. // 그래서, HashMap에저장되어있는키값, 즉, 대화명에대한 Iterator객체를얻어온다. while(it.hasnext()) {// 모든닉네임에메시지를전송한다. DataOutputStream out = (DataOutputStream)clients.get(it.next()); out.writeutf(msg); catch(ioexception e){ // while // sendtoall public static void main(string args[]) { new TcpIpMultichatServer().start(); class ServerReceiver extends Thread {// 클라이언트로부터전송된메시지를수신하는스레드 Socket socket; DataInputStream in; DataOutputStream out; ServerReceiver(Socket socket) { this.socket = socket; in = new DataInputStream(socket.getInputStream()); // 채팅서버로수신되는메시지처리를위한 Stream out = new DataOutputStream(socket.getOutputStream()); // 채팅서버에서클라이언트로메시지를송신하기위한 Stream catch(ioexception e) { public void run() { String name = "";// 대화명을저장할변수 name = in.readutf(); sendtoall("#"+name+" 님이들어오셨습니다.");

20 clients.put(name, out);//hashmap에서버에접속한클라이언트를저장한다. System.out.println(" 현재서버접속자수는 " + clients.size() + " 입니다."); while(in!=null) { sendtoall(in.readutf()); catch(ioexception e) { // ignore finally { sendtoall("#"+name+" 님이나가셨습니다."); clients.remove(name); System.out.println("["+socket.getInetAddress()+":"+socket.getPort()+"]"+" 에서접속을종료하였습니다."); System.out.println(" 현재서버접속자수는 "+ clients.size()+" 입니다."); // try // run // ReceiverThread // class

21 N : N 멀티채팅클라이언트프로그램 ) import java.util.scanner; public class TcpIpMultichatClient { public static void main(string args[]) { if(args.length!=1) {// 채팅을하기위해서는반드시대화명 ( 닉네임 ) 이필요하다. System.out.println("USAGE: java TcpIpMultichatClient 대화명 "); System.exit(0);// 대화명을입력하지않은채프로그램을실행하면종료됨. String serverip = " ";// 채팅서버의 IP 주소 // 현재는 로본인의컴퓨터로설정되어있지만, 실제로채팅시에는 // 실제채팅서버의 IP 주소로변경한다. Socket socket = new Socket(serverIp, 7777); System.out.println(" 서버에연결되었습니다."); Thread sender = new Thread(new ClientSender(socket, args[0])); // 메시지송신용스레드생성 Thread receiver = new Thread(new ClientReceiver(socket)); // 서버에서송신하는메시지수신을위한메시지수신용스레드생성. sender.start();// 스레드시작 receiver.start();// 스레드시작 catch(connectexception ce) { ce.printstacktrace(); catch(exception e) { // main static class ClientSender extends Thread {// 메시지를송신하는역할의스레드 Socket socket; DataOutputStream out; String name;// 대화명을저장할변수 ClientSender(Socket socket, String name) { this.socket = socket;

22 out = new DataOutputStream(socket.getOutputStream()); this.name = name; catch(exception e) { public void run() { Scanner scanner = new Scanner(System.in); if(out!=null) { out.writeutf(name);//stream이비어있으면대화명만전송 while(out!=null) { out.writeutf("["+name+"]"+scanner.nextline()); //Stream에메시지가있으면대화명과화면에서입력한메시지를송신 // run() catch(ioexception e) { static class ClientReceiver extends Thread {// 메시지를수신하는역할의스레드 Socket socket; DataInputStream in; ClientReceiver(Socket socket) { this.socket = socket; in = new DataInputStream(socket.getInputStream()); catch(ioexception e) { // class public void run() { while(in!=null) { System.out.println(in.readUTF()); catch(ioexception e) { // run

23 UDP 소켓프로그램 TCP 소켓은데이터를 100% 안전하게전송할수있다. 때문에높은신뢰성이요구되는프로그램에적합하다. 그러나, 신뢰성이요구되지않거나대용량의데이터를전송하는경우에는네트워크에부하를주는 TCP 소켓이적당하지않을수있다. 이런경우에사용하는것이 UDP 소켓이다. TCP 소켓에비해신뢰성은떨어지지만네트워크에부담은덜준다. 자바는 UDP 소켓을위해 DatagramPacket과 DatagramSocket 클래스를사용한다. UDP 방식을이용한데이터의전송방법 1 데이터를수신할 DatagramSocket을생성 2 데이터를전송할 DatagramSocket을생성 3 DatagramPacket을생성해서 DatagramSocket의 send() 메소드매개변수로넣어서버측의 DatagramSocket에데이터를전송한다. 4 데이터의수신은 DatagramSocket의 receive() 메소드가처리한다. UDP 소켓은 TCP 소켓처럼서버와클라이언트가명확하게구분되지않는다. 즉, 전송할데이터가있으면수신측의준비여부와관계없이전송하기때문이다

24 UDP 채팅서버프로그램 ) class UDPChatServer { public static void main(string[] args){ int port = 5005;// 채팅서버포트 final int BUFFER = 50; byte buffer[] = new byte[buffer]; String message = null; PrintStream ps = new PrintStream(System.out); try{ DatagramSocket ds = new DatagramSocket(port);//UDP 수신용소켓 while( true ){ DatagramPacket dp = new DatagramPacket(buffer, buffer.length); ds.receive(dp);//udp 수신용소켓에서 UDP 메시지를수신한다. message = new String( dp.getdata() );// 수신한 UDP 메시지를문자열로변환 ps.print(" 수신메시지 >>" + message);// 변환한메시지를화면에출력 catch(exception e){ System.out.println(e.getMessage()); ps.close();

25 UDP 채팅클라이언트프로그램 ) class UDPChatClient { public static void main(string[] args){ int port = 5005; String server_ip, str; try{ PrintStream ps = new PrintStream(System.out); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); ps.print(" 접속할서버아이피 : >> "); server_ip = br.readline(); ps.print(" 전송할메시지 : >> "); str = br.readline(); DatagramSocket ds = new DatagramSocket(); InetAddress addr = InetAddress.getByName( server_ip ); byte buffer[] = str.getbytes(); DatagramPacket dp = new DatagramPacket(buffer, buffer.length, addr, port); ds.send(dp);// 송신할메시지를 UDP 패킷을 UDP 소켓을통해서송신한다. ps.print( server_ip + " 에메시지전송성공!"); ps.close(); catch(exception e){ System.out.println( e.getmessage());

Microsoft PowerPoint - Supplement-03-TCP Programming.ppt [호환 모드]

Microsoft PowerPoint - Supplement-03-TCP Programming.ppt [호환 모드] - Socket Programming in Java - 목차 소켓소개 자바에서의 TCP 프로그램작성방법 주요클래스와메소드 HTTP 프로토콜을이용한예제 에코프로그램 Q/A 에코프로그램 - EchoServer 에코프로그램 - EchoClient TCP Programming 1 소켓소개 IP, Port, and Socket 포트 (Port): 전송계층에서통신을수행하는응용프로그램을찾기위한주소

More information

Microsoft PowerPoint - 03-TCP Programming.ppt

Microsoft PowerPoint - 03-TCP Programming.ppt Chapter 3. - Socket in Java - 목차 소켓소개 자바에서의 프로그램작성방법 주요클래스와메소드 HTTP 프로토콜을이용한예제 에코프로그램 에코프로그램 - EchoServer 에코프로그램 - EchoClient Q/A 1 1 소켓소개 IP,, and Socket 포트 (): 전송계층에서통신을수행하는응용프로그램을찾기위한주소 소켓 (Socket):

More information

자바-11장N'1-502

자바-11장N'1-502 C h a p t e r 11 java.net.,,., (TCP/IP) (UDP/IP).,. 1 ISO OSI 7 1977 (ISO, International Standards Organization) (OSI, Open Systems Interconnection). 6 1983 X.200. OSI 7 [ 11-1] 7. 1 (Physical Layer),

More information

Microsoft PowerPoint - 04-UDP Programming.ppt

Microsoft PowerPoint - 04-UDP Programming.ppt Chapter 4. UDP Dongwon Jeong djeong@kunsan.ac.kr http://ist.kunsan.ac.kr/ Dept. of Informatics & Statistics 목차 UDP 1 1 UDP 개념 자바 UDP 프로그램작성 클라이언트와서버모두 DatagramSocket 클래스로생성 상호간통신은 DatagramPacket 클래스를이용하여

More information

13-Java Network Programming

13-Java Network Programming JAVA Programming Language JAVA Network Programming IP Address(Internet Protocol Address) URL(Uniform Resource Location) TCP(Transmission Control Protocol) Socket UDP(User Datagram Protocol) Client / Server

More information

<4D F736F F F696E74202D20B3D7C6AEBFF6C5A9C7C1B7CEB1D7B7A1B9D65F FBCD2C4CF5FC3A4C6C35FBFA1C4DA2E BC8A3C8A

<4D F736F F F696E74202D20B3D7C6AEBFF6C5A9C7C1B7CEB1D7B7A1B9D65F FBCD2C4CF5FC3A4C6C35FBFA1C4DA2E BC8A3C8A 학습목표 자바의소켓포트의개념을이해한다 네트워크프로그래밍 클라이언트통신프로그램의구조를이해한다 소켓과클라이언트소켓을구분하여이해한다 11 주소켓 - 애코김문정 tops@u1.ac.kr 2 포트 (port) 데이터송수신창구 0~65536 (0~1024 : well-known port) ServerSocket 클래스 ( 소켓 ) ServerSocket 클래스에사용되는클래스

More information

<4D F736F F F696E74202D20C1A63235C0E520B3D7C6AEBFF6C5A920C7C1B7CEB1D7B7A1B9D628B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C1A63235C0E520B3D7C6AEBFF6C5A920C7C1B7CEB1D7B7A1B9D628B0ADC0C729205BC8A3C8AF20B8F0B5E55D> Power Java 제 25 장네트워크프로그래밍 이번장에서학습할내용 네트워크프로그래밍의개요 URL 클래스 TCP를이용한통신 TCP를이용한서버제작 TCP를이용한클라이언트제작 UDP 를이용한통신 자바를이용하여서 TCP/IP 통신을이용하는응응프로그램을작성하여봅시다. 서버와클라이언트 서버 (Server): 사용자들에게서비스를제공하는컴퓨터 클라이언트 (Client):

More information

학습목표 네트워크개요 TCP PORT URL/InetAddress Socket/TCP 을이용한네트워크 2

학습목표 네트워크개요 TCP PORT URL/InetAddress Socket/TCP 을이용한네트워크 2 Chapter 12 네트워크프로그래밍 New Java Programming with a Workbook 학습목표 네트워크개요 TCP PORT URL/InetAddress Socket/TCP 을이용한네트워크 2 Network 개요 네트워크 데이터전송프로토콜을가지고통신하는연결된장치들을총칭 네트워크망 3 TCP TCP (Transmission Control Protocol)

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 명품 Java Essential 1 2 학습목표 1. 소켓통신에대한이해 2. 자바로간단한소켓통신프로그램작성 TCP/IP 소개 3 TCP/IP 프로토콜 두시스템간에데이터가손상없이안전하게전송되도록하는통신프로토콜 TCP 에서동작하는응용프로그램사례 e-mail, FTP, 웹 (HTTP) 등 TCP/IP 특징 연결형통신 한번연결후계속데이터전송가능 보낸순서대로받아응용프로그램에게전달

More information

PowerPoint Presentation

PowerPoint Presentation public class SumTest { public static void main(string a1[]) { int a, b, sum; a = Integer.parseInt(a1[0]); b = Integer.parseInt(a1[1]); sum = a + b ; // 두수를더하는부분입니다 System.out.println(" 두수의합은 " + sum +

More information

Microsoft PowerPoint - Lecture_Note_5.ppt [Compatibility Mode]

Microsoft PowerPoint - Lecture_Note_5.ppt [Compatibility Mode] TCP Server/Client Department of Computer Engineering Kyung Hee University. Choong Seon Hong 1 TCP Server Program Procedure TCP Server socket() bind() 소켓생성 소켓번호와소켓주소의결합 listen() accept() read() 서비스처리, write()

More information

(Microsoft PowerPoint - AUTCHEYREGRG.ppt [\310\243\310\257 \270\360\265\345])

(Microsoft PowerPoint - AUTCHEYREGRG.ppt [\310\243\310\257 \270\360\265\345]) 자바네트워크프로그래밍 학습내용 네트워킹의개요와 java.net 패키지 인터넷주소와 URL TCP 소켓 UDP 소켓 2 네트워킹의개요와 java.net 패키지 자바는사용자가네트웍의세부구조를몰라도네트웍기능을편리하게사용할수있는기능들을 java.net 패키지로제공 사용자는 java.net 패키지에서제공되는클래스들을이용하여네트워킹관련프로그램을작성 3 1. 네트워킹의개요와

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 클래스, 객체, 메소드 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 필드만있는클래스 텔레비젼 2 예제 1. 필드만있는클래스 3 예제 2. 여러개의객체생성하기 4 5 예제 3. 메소드가추가된클래스 public class Television { int channel; // 채널번호 int volume; // 볼륨 boolean

More information

The Pocket Guide to TCP/IP Sockets: C Version

The Pocket Guide to  TCP/IP Sockets: C Version 얇지만얇지않은 TCP/IP 소켓프로그래밍 C 2 판 4 장 UDP 소켓 제 4 장 UDP 소켓 4.1 UDP 클라이언트 4.2 UDP 서버 4.3 UDP 소켓을이용한데이터송싞및수싞 4.4 UDP 소켓의연결 UDP 소켓의특징 UDP 소켓의특성 싞뢰할수없는데이터젂송방식 목적지에정확하게젂송된다는보장이없음. 별도의처리필요 비연결지향적, 순서바뀌는것이가능 흐름제어 (flow

More information

rmi_박준용_final.PDF

rmi_박준용_final.PDF (RMI) - JSTORM http://wwwjstormpekr (RMI)- Document title: Document file name: Revision number: Issued by: Document Information (RMI)- rmi finaldoc Issue Date: Status:

More information

Microsoft PowerPoint - [EEL2] Lab10.pptx

Microsoft PowerPoint - [EEL2] Lab10.pptx Lab10 (Week 13) 네트워크프로그래밍 전자공학실험 2 Week13: 실습과제 (Lab10) Lab10 #1~#4 실습일실습시간종료시까지이메일로제출 이메일제목 : [EEL2] Lab10-Part1 Lab10 #5~#7 다음주실습시간시작시하드카피 ( 리포트 ) 로제출 리포트제목 : [EEL2] Lab10-Part2 최소 1 시간은실습실에서실습을진행해야합니다.

More information

<4D F736F F F696E74202D E20B3D7C6AEBFF6C5A920C7C1B7CEB1D7B7A1B9D62E >

<4D F736F F F696E74202D E20B3D7C6AEBFF6C5A920C7C1B7CEB1D7B7A1B9D62E > 웹프로그래밍및실습 ( g & Practice) 문양세강원대학교 IT 대학컴퓨터과학전공 소켓 (Socket) (1/2) Socket 이란? 서버와클라이언트가서로특정한규약을사용하여데이터를전송하기위한방식 서버와클라이언트는소켓연결을기다렸다가소켓이연결되면서로데이터를전송 현재네트워크상에서의모든통신의근간은 Socket 이라할수있음 Page 2 1 소켓 (Socket) (2/2)

More information

<4D F736F F F696E74202D20C1A63234C0E520C0D4C3E2B7C228B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C1A63234C0E520C0D4C3E2B7C228B0ADC0C729205BC8A3C8AF20B8F0B5E55D> Power Java 제 24 장입출력 이번장에서학습할내용 스트림이란? 스트림의분류 바이트스트림 문자스트림 형식입출력 명령어행에서입출력 파일입출력 스트림을이용한입출력에대하여살펴봅시다. 스트림 (stream) 스트림 (stream) 은 순서가있는데이터의연속적인흐름 이다. 스트림은입출력을물의흐름처럼간주하는것이다. 스트림들은연결될수있다. 중간점검문제 1. 자바에서는입출력을무엇이라고추상화하는가?

More information

Microsoft PowerPoint PythonGUI-socket

Microsoft PowerPoint PythonGUI-socket : 채팅프로그래밍 순천향대학교컴퓨터공학과 이상정 순천향대학교컴퓨터공학과 1 학습내용 인터넷구조 인터넷구성요소 인터넷주소 클라이언트 / 서버구조 소켓프로그래밍소개 파이썬소켓프로그래밍 TCP 클라이언트 / 서버프로그래밍 스레드소개 파이썬스레드 채팅클라이언트 / 서버프로그램 순천향대학교컴퓨터공학과 2 네트워크요소 네트워크가장자리 (edge) 호스트 : 클라이언트와서버

More information

목차 INDEX JSON? - JSON 개요 - JSONObject - JSONArray 서울시공공데이터 API 살펴보기 - 요청인자살펴보기 - Result Code - 출력값 HttpClient - HttpHelper 클래스작성 - JSONParser 클래스작성 공공

목차 INDEX JSON? - JSON 개요 - JSONObject - JSONArray 서울시공공데이터 API 살펴보기 - 요청인자살펴보기 - Result Code - 출력값 HttpClient - HttpHelper 클래스작성 - JSONParser 클래스작성 공공 메신저의새로운혁신 채팅로봇 챗봇 (Chatbot) 입문하기 소 이 메 속 : 시엠아이코리아 름 : 임채문 일 : soulgx@naver.com 1 목차 INDEX JSON? - JSON 개요 - JSONObject - JSONArray 서울시공공데이터 API 살펴보기 - 요청인자살펴보기 - Result Code - 출력값 HttpClient - HttpHelper

More information

Microsoft PowerPoint - java2-lecture7.ppt [호환 모드]

Microsoft PowerPoint - java2-lecture7.ppt [호환 모드] TCP/IP 소개 Application Layer (HTTP, FTP, SMTP, Telnet, ) Networking 514770 2018 년가을학기 11/12/2018 박경신 TCP/IP 프로토콜 Application Layer SMTP(Simple Mail Transfer Protocol), Telnet, FTP(File Transfer Protocol),

More information

파일로출력하는작업순서 1. 파일을연다. 2. 파일로자료를쓴다. 3. 파일을닫는다. 파일입출력에사용되는클래스들. FileInputStream, FileOutputStream, FileReader, FileWriter 문자단위로입출력하기 사람이읽을수있는문자로만구성된파일을읽

파일로출력하는작업순서 1. 파일을연다. 2. 파일로자료를쓴다. 3. 파일을닫는다. 파일입출력에사용되는클래스들. FileInputStream, FileOutputStream, FileReader, FileWriter 문자단위로입출력하기 사람이읽을수있는문자로만구성된파일을읽 파일다루기 1 데이터는이곳에서저곳으로흘러간다. - 즉, 데이터는스트림 (stream) 이되어서일렬로이곳에서저곳으로이동한다. - 자바프로그램에서입출력되는모든데이터는스트림형태로주고받는다. 키보드에서입력되는데이터나모니터로출력되는데이터, 파일로부터읽은데이터, 파일로출력하는데이터들도모두스트림형태이다. - 스트림은흐르는방향에따라입력스트림 (input stream) 과출력스트림

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 배효철 th1g@nate.com 1 목차 표준입출력 파일입출력 2 표준입출력 표준입력은키보드로입력하는것, 주로 Scanner 클래스를사용. 표준출력은화면에출력하는메소드를사용하는데대표적으로 System.out.printf( ) 를사용 3 표준입출력 표준출력 : System.out.printlf() 4 표준입출력 Example 01 public static void

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 실습 1 배효철 th1g@nate.com 1 목차 조건문 반복문 System.out 구구단 모양만들기 Up & Down 2 조건문 조건문의종류 If, switch If 문 조건식결과따라중괄호 { 블록을실행할지여부결정할때사용 조건식 true 또는 false값을산출할수있는연산식 boolean 변수 조건식이 true이면블록실행하고 false 이면블록실행하지않음 3

More information

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 (   ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각 JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( http://java.sun.com/javase/6/docs/api ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각선의길이를계산하는메소드들을작성하라. 직사각형의가로와세로의길이는주어진다. 대각선의길이는 Math클래스의적절한메소드를이용하여구하라.

More information

제1장 Unix란 무엇인가?

제1장  Unix란 무엇인가? 1 소켓 2 1 소켓 클라이언트 - 서버모델 네트워크응용프로그램 클리이언트 - 서버모델을기반으로동작한다. 클라이언트 - 서버모델 하나의서버프로세스와여러개의클라이언트로구성된다. 서버는어떤자원을관리하고클라이언트를위해자원관련서비스를제공한다. 3 소켓의종류 소켓 네트워크에대한사용자수준의인터페이스를제공 소켓은양방향통신방법으로클라이언트 - 서버모델을기반으로프로세스사이의통신에매우적합하다.

More information

파일로입출력하기II - 파일출력클래스중에는데이터를일정한형태로출력하는기능을가지고있다. - PrintWriter와 PrintStream을사용해서원하는형태로출력할수있다. - PrintStream은구버전으로가능하면 PrintWriter 클래스를사용한다. PrintWriter

파일로입출력하기II - 파일출력클래스중에는데이터를일정한형태로출력하는기능을가지고있다. - PrintWriter와 PrintStream을사용해서원하는형태로출력할수있다. - PrintStream은구버전으로가능하면 PrintWriter 클래스를사용한다. PrintWriter 파일로입출력하기II - 파일출력클래스중에는데이터를일정한형태로출력하는기능을가지고있다. - PrintWriter와 PrintStream을사용해서원하는형태로출력할수있다. - PrintStream은구버전으로가능하면 PrintWriter 클래스를사용한다. PrintWriter 클래스의사용법은다음과같다. PrintWriter writer = new PrintWriter("output.txt");

More information

Network Programming

Network Programming Part 5 확장된 Network Programming 기술 1. Remote Procedure Call 2. Remote Method Invocation 3. Object Request Broker 2. Java RMI

More information

12-file.key

12-file.key 11 (String).. java.lang.stringbuffer. s String s = "abcd"; s = s + "e"; a b c d e a b c d e ,., "910359,, " "910359" " " " " (token) (token),, (delimiter). java.util.stringtokenizer String s = "910359,,

More information

16장

16장 16 네트워크 O b j e c t i v e s TCP/IP 프로토콜의개념을이해한다. 자바의소켓포트의개념을이해한다. 서버클라이언트통신프로그램의구조를이해한다. 서버소켓과클라이언트소켓을구분하여이해한다. URL 객체와 URLConnection 객체를활용할줄안다. 소켓프로그래밍을이해한다. 간단한채팅프로그램소스를통해소켓통신을이해한다. C H A P T E R JAVA

More information

JAVA PROGRAMMING 실습 09. 예외처리

JAVA PROGRAMMING 실습 09. 예외처리 2015 학년도 2 학기 예외? 프로그램실행중에발생하는예기치않은사건 예외가발생하는경우 정수를 0으로나누는경우 배열의크기보다큰인덱스로배열의원소를접근하는경우 파일의마지막부분에서데이터를읽으려고하는경우 예외처리 프로그램에문제를발생시키지않고프로그램을실행할수있게적절한조치를취하는것 자바는예외처리기를이용하여예외처리를할수있는기법제공 자바는예외를객체로취급!! 나뉨수를입력하시오

More information

JMF3_심빈구.PDF

JMF3_심빈구.PDF JMF JSTORM http://wwwjstormpekr Issued by: < > Revision: Document Information Document title: Document file name: Revision number: Issued by: JMF3_ doc Issue Date:

More information

Microsoft PowerPoint - RMI.ppt

Microsoft PowerPoint - RMI.ppt ( 분산통신실습 ) RMI RMI 익히기 1. 분산환경에서동작하는 message-passing을이용한 boundedbuffer 해법프로그램을실행해보세요. 소스코드 : ftp://211.119.245.153 -> os -> OSJavaSources -> ch15 -> rmi http://marvel el.incheon.ac.kr의 Information Unix

More information

2009년 상반기 사업계획

2009년 상반기 사업계획 소켓프로그래밍활용 IT CookBook, 유닉스시스템프로그래밍 학습목표 소켓인터페이스를활용한다양한프로그램을작성할수있다. 2/23 목차 TCP 기반프로그래밍 반복서버 동시동작서버 동시동작서버-exec함수사용하기 동시동작서버-명령행인자로소켓기술자전달하기 UDP 프로그래밍 3/23 TCP 기반프로그래밍 반복서버 데몬프로세스가직접모든클라이언트의요청을차례로처리 동시동작서버

More information

PowerPoint Presentation

PowerPoint Presentation Package Class 3 Heeseung Jo 목차 section 1 패키지개요와패키지의사용 section 2 java.lang 패키지의개요 section 3 Object 클래스 section 4 포장 (Wrapper) 클래스 section 5 문자열의개요 section 6 String 클래스 section 7 StringBuffer 클래스 section

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 오류처리 손시운 ssw5176@kangwon.ac.kr 오류메시지를분석한다. 오류메시지에서많은내용을알수있다. 2 디버깅 디버거를사용하면프로그램에서쉽게오류를감지하고진단할수있다. 디버거는중단점을설정하여서프로그램의실행을제어할수있으며문장 단위로실행하거나변수의값을살펴볼수있다. 3 이클립스에서디버깅 4 이클립스에서디버깅 5 이클립스의디버깅명령어 6 예외처리

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 예외처리 배효철 th1g@nate.com 1 목차 예외와예외클래스 실행예외 예외처리코드 예외종류에따른처리코드 자동리소스닫기 예외처리떠넘기기 사용자정의예외와예외발생 예외와예외클래스 구문오류 예외와예외클래스 구문오류가없는데실행시오류가발생하는경우 예외와예외클래스 import java.util.scanner; public class ExceptionExample1

More information

The Pocket Guide to TCP/IP Sockets: C Version

The Pocket Guide to  TCP/IP Sockets: C Version 1 목포해양대해양컴퓨터공학과 UDP 소켓 네트워크프로그램설계 4 장 2 목포해양대해양컴퓨터공학과 목차 제 4장 UDP 소켓 4.1 UDP 클라이언트 4.2 UDP 서버 4.3 UDP 소켓을이용한데이터송신및수신 4.4 UDP 소켓의연결 3 목포해양대해양컴퓨터공학과 UDP 소켓의특징 UDP 소켓의특성 신뢰할수없는데이터전송방식 목적지에정확하게전송된다는보장이없음.

More information

슬라이드 1

슬라이드 1 UNIT 16 예외처리 로봇 SW 교육원 3 기 최상훈 학습목표 2 예외처리구문 try-catch-finally 문을사용핛수있다. 프로그램오류 3 프로그램오류의종류 컴파일에러 (compile-time error) : 컴파일실행시발생 럮타임에러 (runtime error) : 프로그램실행시발생 에러 (error) 프로그램코드에의해서해결될수없는심각핚오류 ex)

More information

(Microsoft PowerPoint - java1-lecture11.ppt [\310\243\310\257 \270\360\265\345])

(Microsoft PowerPoint - java1-lecture11.ppt [\310\243\310\257 \270\360\265\345]) 예외와예외클래스 예외처리 514760-1 2016 년가을학기 12/08/2016 박경신 오류의종류 에러 (Error) 하드웨어의잘못된동작또는고장으로인한오류 에러가발생되면 JVM실행에문제가있으므로프로그램종료 정상실행상태로돌아갈수없음 예외 (Exception) 사용자의잘못된조작또는개발자의잘못된코딩으로인한오류 예외가발생되면프로그램종료 예외처리 추가하면정상실행상태로돌아갈수있음

More information

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D> Power Java 제 8 장클래스와객체 I 이번장에서학습할내용 클래스와객체 객체의일생직접 메소드클래스를 필드작성해 UML 봅시다. QUIZ 1. 객체는 속성과 동작을가지고있다. 2. 자동차가객체라면클래스는 설계도이다. 먼저앞장에서학습한클래스와객체의개념을복습해봅시다. 클래스의구성 클래스 (class) 는객체의설계도라할수있다. 클래스는필드와메소드로이루어진다.

More information

PowerPoint Presentation

PowerPoint Presentation Package Class 1 Heeseung Jo 목차 section 1 패키지개요와패키지의사용 section 2 java.lang 패키지의개요 section 3 Object 클래스 section 4 포장 (Wrapper) 클래스 section 5 문자열의개요 section 6 String 클래스 section 7 StringBuffer 클래스 section

More information

Cluster management software

Cluster management software 자바네트워크프로그래밍 (OCJP 국제공인자격취득중심 ) 충북대학교 최민 기본예제 예외클래스를정의하고사용하는예제 class NewException extends Exception { public class ExceptionTest { static void methoda() throws NewException { System.out.println("NewException

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Network Programming Jo, Heeseung Network 실습 네트워크프로그래밍 멀리떨어져있는호스트들이서로데이터를주고받을수있도록프로그램을구현하는것 파일과는달리데이터를주고받을대상이멀리떨어져있기때문에소프트웨어차원에서호스트들간에연결을해주는장치가필요 이러한기능을해주는장치로소켓이라는인터페이스를많이사용 소켓프로그래밍이란용어와네트워크프로그래밍이랑용어가같은의미로사용

More information

PowerPoint Presentation

PowerPoint Presentation Class - Property Jo, Heeseung 목차 section 1 클래스의일반구조 section 2 클래스선언 section 3 객체의생성 section 4 멤버변수 4-1 객체변수 4-2 클래스변수 4-3 종단 (final) 변수 4-4 멤버변수접근방법 section 5 멤버변수접근한정자 5-1 public 5-2 private 5-3 한정자없음

More information

The Pocket Guide to TCP/IP Sockets: C Version

The Pocket Guide to  TCP/IP Sockets: C Version 인터넷프로토콜 03 장 도메인네임시스템과주소 패밀리 (IPv4-IPv6 서비스 ) 1 목차 제 3 장도메인네임시스템과주소패밀리 3.1 도메인네임주소를숫자주소로매핑하기 3.2 IP 버전에무관한주소-범용코드의작성 3.3 숫자주소에서도메인네임주소획득하기 2 getaddrinfo() 를활용한주소 범용 (Generic) 코드 주소범용 (Generic) 코드란? 주소버전

More information

JMF2_심빈구.PDF

JMF2_심빈구.PDF JMF JSTORM http://wwwjstormpekr Issued by: < > Document Information Document title: Document file name: Revision number: Issued by: JMF2_ doc Issue Date: Status: < > raica@nownurinet

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 @ Lesson 3 if, if else, if else if, switch case for, while, do while break, continue : System.in, args, JOptionPane for (,, ) @ vs. logic data method variable Data Data Flow (Type), ( ) @ Member field

More information

제11장 프로세스와 쓰레드

제11장 프로세스와 쓰레드 제9장자바쓰레드 9.1 Thread 기초 (1/5) 프로그램 명령어들의연속 (a sequence of instruction) 프로세스 / Thread 실행중인프로그램 (program in execution) 프로세스생성과실행을위한함수들 자바 Thread 2 9.1 Thread 기초 (2/5) 프로세스단위작업의문제점 프로세스생성시오버헤드 컨텍스트스위치오버헤드

More information

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2 객체지향프로그래밍 IT CookBook, 자바로배우는쉬운자료구조 q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2 q 객체지향프로그래밍의이해 v 프로그래밍기법의발달 A 군의사업발전 1 단계 구조적프로그래밍방식 3 q 객체지향프로그래밍의이해 A 군의사업발전 2 단계 객체지향프로그래밍방식 4 q 객체지향프로그래밍의이해 v 객체란무엇인가

More information

Microsoft PowerPoint - Java7.pptx

Microsoft PowerPoint - Java7.pptx HPC & OT Lab. 1 HPC & OT Lab. 2 실습 7 주차 Jin-Ho, Jang M.S. Hanyang Univ. HPC&OT Lab. jinhoyo@nate.com HPC & OT Lab. 3 Component Structure 객체 (object) 생성개념을이해한다. 외부클래스에대한접근방법을이해한다. 접근제어자 (public & private)

More information

02 C h a p t e r Java

02 C h a p t e r Java 02 C h a p t e r Java Bioinformatics in J a va,, 2 1,,,, C++, Python, (Java),,, (http://wwwbiojavaorg),, 13, 3D GUI,,, (Java programming language) (Sun Microsystems) 1995 1990 (green project) TV 22 CHAPTER

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 오류처리 손시운 ssw5176@kangwon.ac.kr 오류메시지를분석한다. 오류메시지에서많은내용을알수있다. 2 디버깅 디버거를사용하면프로그램에서쉽게오류를감지하고진단할수있다. 디버거는중단점을설정하여서프로그램의실행을제어할수있으며문장 단위로실행하거나변수의값을살펴볼수있다. 3 이클립스에서디버깅 4 이클립스에서디버깅 5 이클립스의디버깅명령어 6 예외처리

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 @ Lesson 2... ( ). ( ). @ vs. logic data method variable behavior attribute method field Flow (Type), ( ) member @ () : C program Method A ( ) Method B ( ) Method C () program : Java, C++, C# data @ Program

More information

JAVA PROGRAMMING 실습 08.다형성

JAVA PROGRAMMING 실습 08.다형성 2015 학년도 2 학기 1. 추상메소드 선언은되어있으나코드구현되어있지않은메소드 abstract 키워드사용 메소드타입, 이름, 매개변수리스트만선언 public abstract String getname(); public abstract void setname(string s); 2. 추상클래스 abstract 키워드로선언한클래스 종류 추상메소드를포함하는클래스

More information

Network Programming

Network Programming Part 4 자바네트워크프로그래밍 1. Java IO 2. 스레드 (Thread) 클래스의소개 3. Java Socket 1. 자바입출력 Java_source->src->ch11 1.0 I/O Stream

More information

Java

Java Java http://cafedaumnet/pway Chapter 1 1 public static String format4(int targetnum){ String strnum = new String(IntegertoString(targetNum)); StringBuffer resultstr = new StringBuffer(); for(int i = strnumlength();

More information

스레드의우선순위 우선순위설정메소드 : void setpriority(int newpriority) newpriority 에설정할수있는등급 : 1( 가장낮은우선순위 ) 부터 10( 가장높은우선순위 ) 가장높은우선순위 : MAX_PRIORITY, 보통우선순위 : NORM_

스레드의우선순위 우선순위설정메소드 : void setpriority(int newpriority) newpriority 에설정할수있는등급 : 1( 가장낮은우선순위 ) 부터 10( 가장높은우선순위 ) 가장높은우선순위 : MAX_PRIORITY, 보통우선순위 : NORM_ 10 초동안사용자가입력하지않으면종료하는예제 ) import javax.swing.joptionpane; class AutoTermination { static boolean inputcheck = false; public static void main(string[] args) throws Exception { FirstThread th1 = new FirstThread();

More information

The Pocket Guide to TCP/IP Sockets: C Version

The Pocket Guide to  TCP/IP Sockets: C Version 인터넷프로토콜 5 장 데이터송수신 (3) 1 파일전송메시지구성예제 ( 고정크기메시지 ) 전송방식 : 고정크기 ( 바이너리전송 ) 필요한전송정보 파일이름 ( 최대 255 자 => 255byte 의메모리공간필요 ) 파일크기 (4byte 의경우최대 4GB 크기의파일처리가능 ) 파일내용 ( 가변길이, 0~4GB 크기 ) 메시지구성 FileName (255bytes)

More information

Chap12

Chap12 12 12Java RMI 121 RMI 2 121 RMI 3 - RMI, CORBA 121 RMI RMI RMI (remote object) 4 - ( ) UnicastRemoteObject, 121 RMI 5 class A - class B - ( ) class A a() class Bb() 121 RMI 6 RMI / 121 RMI RMI 1 2 ( 7)

More information

PowerPoint Presentation

PowerPoint Presentation 자바프로그래밍 1 배열 손시운 ssw5176@kangwon.ac.kr 배열이필요한이유 예를들어서학생이 10 명이있고성적의평균을계산한다고가정하자. 학생 이 10 명이므로 10 개의변수가필요하다. int s0, s1, s2, s3, s4, s5, s6, s7, s8, s9; 하지만만약학생이 100 명이라면어떻게해야하는가? int s0, s1, s2, s3, s4,

More information

Microsoft PowerPoint - 09-EDU-15-채팅 프로그래밍

Microsoft PowerPoint - 09-EDU-15-채팅 프로그래밍 15. 채팅프로그램 순천향대학교컴퓨터학부이상정 1 학습내용 사용자인터페이스 프로그램구성 TCP 연결설정프로그램 서버연결설정 클라이언트연결설정 TCP 데이터송수신 순천향대학교컴퓨터학부이상정 2 사용자인터페이스, Form 클래스 순천향대학교컴퓨터학부이상정 3 1:1 채팅프로그램 한프로그램이동시에서버와클라이언트로동작 프로그램시작시서버로동작 서버소켓생성하고상대방접속요청대기

More information

Java ...

Java ... 컴퓨터언어 1 Java 제어문 조성일 조건문 : if, switch 어떠한조건을조사하여각기다른명령을실행 if 문, switch 문 if 문 if - else 문형식 if 문형식 if ( 조건식 ) { 명령문 1; 명령문 2;... if ( 조건식 ) { 명령문 1; 명령문 2;... else { 명령문 a; 명령문 b;... 예제 1 정수를입력받아짝수와홀수를판별하는프로그램을작성하시오.

More information

Microsoft PowerPoint - CSharp-10-예외처리

Microsoft PowerPoint - CSharp-10-예외처리 10 장. 예외처리 예외처리개념 예외처리구문 사용자정의예외클래스와예외전파 순천향대학교컴퓨터학부이상정 1 예외처리개념 순천향대학교컴퓨터학부이상정 2 예외처리 오류 컴파일타임오류 (Compile-Time Error) 구문오류이기때문에컴파일러의구문오류메시지에의해쉽게교정 런타임오류 (Run-Time Error) 디버깅의절차를거치지않으면잡기어려운심각한오류 시스템에심각한문제를줄수도있다.

More information

JAVA PROGRAMMING 실습 02. 표준 입출력

JAVA PROGRAMMING 실습 02. 표준 입출력 자바의기본구조? class HelloJava{ public static void main(string argv[]){ system.out.println( hello,java ~ ){ } } # 하나하나뜯어살펴봅시다! public class HelloJava{ 클래스정의 public static void main(string[] args){ System.out.println(

More information

항상쌍 ( 키, 값 ) 으로만데이터를저장하는클래스 의최고조상 : Map - Map을조상으로하는클래스, HashTable, HashMap, LinkedHashMap, TreeMap 등은데이터를저장할때반드시 키 와 값 의쌍으로저장한다. - Map에저장되는 키 는중복되면안되

항상쌍 ( 키, 값 ) 으로만데이터를저장하는클래스 의최고조상 : Map - Map을조상으로하는클래스, HashTable, HashMap, LinkedHashMap, TreeMap 등은데이터를저장할때반드시 키 와 값 의쌍으로저장한다. - Map에저장되는 키 는중복되면안되 무엇이든다받아주는클래스 2 컬렉션프레임워크에저장된데이터를순차적으로처리하는방법 : Iterator 객체사용 - get() 메서드를사용하면 Iterator 를사용하지않아도원하는위치의데이터를찾을수있다. - get() 메서드는원하는데이터를찾는작업을항상처음데이터부터시작한다. - Iterator 는주소를사용해서현재탐색한위치부터새로운탐색을시작하므로, 위의 get() 메서드보다훨씬처리시

More information

스레드를적용하지않은결과와스레드를적용한결과의비교 1) 두개의작업을스레드를사용하지않고수행한예 ) : 순차작업 class ThreadTest2 { System.out.print("-");// 화면에 - 를출력하는작업 System.out.print(" ");// 화면에 를출력

스레드를적용하지않은결과와스레드를적용한결과의비교 1) 두개의작업을스레드를사용하지않고수행한예 ) : 순차작업 class ThreadTest2 { System.out.print(-);// 화면에 - 를출력하는작업 System.out.print( );// 화면에 를출력 실 (thread) 을이용한병렬처리 스레드 (thread) 는실을의미한다. 즉, 실하나에여러작업들이꿰어져서순서적으로처리된다. 그런데, 실을여러개 만들고이실에여러작업들을꿰어서이실들을순서적으로처리하게하면, 여러개의작업들이한꺼번에처리된다. 즉, 일정한단위시간당처리되는작업의수를증가시킬수있다. 스레드생성방법에대한예제 ) class ThreadTest1 { ThreadClass1

More information

제11장 자바 입출력

제11장 자바 입출력 제11 장자바입출력 Java_surce->src->ch11 I/O Stream gic 자바입출력 2 서버와클라이언트의소켓준비 자바입출력 3 11.1.1 스트림개념 스트림 순서가있고, 길이가정해져있지않은데이터흐름종류 자바입출력 바이트 ( 바이너리, 숫자 ) 텍스트 ( 문자 )...InputStream...OutputputStream...Reader...Writer

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 Power Java 제 23 장스레드 이번장에서학습할내용 스레드의개요 스레드의생성과실행 스레드상태 스레드의스케줄링 스레드간의조정 스레드는동시에여러개의프로그램을실행하는효과를냅니다. 멀티태스킹 멀티태스킹 (muli-tasking) 는여러개의애플리케이션을동시에실행하여서컴퓨터시스템의성능을높이기위한기법 스레드란? 다중스레딩 (multi-threading) 은하나의프로그램이동시에여러가지작업을할수있도록하는것

More information

gnu-lee-oop-kor-lec06-3-chap7

gnu-lee-oop-kor-lec06-3-chap7 어서와 Java 는처음이지! 제 7 장상속 Super 키워드 상속과생성자 상속과다형성 서브클래스의객체가생성될때, 서브클래스의생성자만호출될까? 아니면수퍼클래스의생성자도호출되는가? class Base{ public Base(String msg) { System.out.println("Base() 생성자 "); ; class Derived extends Base

More information

PowerPoint Presentation

PowerPoint Presentation public class SumTest { public static void main(string a1[]) { int a, b, sum; a = Integer.parseInt(a1[0]); b = Integer.parseInt(a1[1]); sum = a + b ; // 두수를더하는부분입니다 System.out.println(" 두수의합은 " + sum +

More information

비긴쿡-자바 00앞부속

비긴쿡-자바 00앞부속 IT COOKBOOK 14 Java P r e f a c e Stay HungryStay Foolish 3D 15 C 3 16 Stay HungryStay Foolish CEO 2005 L e c t u r e S c h e d u l e 1 14 PPT API C A b o u t T h i s B o o k IT CookBook for Beginner Chapter

More information

Cluster management software

Cluster management software 자바네트워크프로그래밍 (OCJP 국제공인자격취득중심 ) 충북대학교 최민 File Class File 클래스 파일의읽고쓰기를제외하고파일과디렉토리에대한필요한많은기능등을제공 파일과디렉토리의정보를조사하고, 이들을생성및삭제하는메소드등이 File 클래스에포함 File 클래스의생성자 File(File parent, String child) File(String pathname)

More information

gnu-lee-oop-kor-lec11-1-chap15

gnu-lee-oop-kor-lec11-1-chap15 어서와 Java 는처음이지! 제 15 장컬렉션 컬렉션 (collection) 은자바에서자료구조를구현한클래스 자료구조로는리스트 (list), 스택 (stack), 큐 (queue), 집합 (set), 해쉬테이블 (hash table) 등이있다. 자바는컬렉션인터페이스와컬렉션클래스로나누어서제공한다. 자바에서는컬렉션인터페이스를구현한클래스도함께제공하므로이것을간단하게사용할수도있고아니면각자필요에맞추어인터페이스를자신의클래스로구현할수도있다.

More information

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher( 실행할페이지.jsp); 다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp"); dispatcher.forward(request, response); - 위의예에서와같이 RequestDispatcher

More information

Spring Data JPA Many To Many 양방향 관계 예제

Spring Data JPA Many To Many 양방향 관계 예제 Spring Data JPA Many To Many 양방향관계예제 오라클자바커뮤니티 (ojc.asia, ojcedu.com) 엔티티매핑 (Entity Mapping) M : N 연관관계 사원 (Sawon), 취미 (Hobby) 는다 : 다관계이다. 사원은여러취미를가질수있고, 하나의취미역시여러사원에할당될수있기때문이다. 보통관계형 DB 에서는다 : 다관계는 1

More information

[ 프로젝트이름 ] : Project_Car [ 프로젝트를만든목적 ] : 임의의자동차판매소가있다고가정하고, 고객이원하는자동차의각부분을 Java 를이용하여객 체로생성하고, 그것을제어하는메소드를이용하여자동차객체를생성하는것이목표이다. [ 프로젝트패키지와클래스의내용설명 ] [

[ 프로젝트이름 ] : Project_Car [ 프로젝트를만든목적 ] : 임의의자동차판매소가있다고가정하고, 고객이원하는자동차의각부분을 Java 를이용하여객 체로생성하고, 그것을제어하는메소드를이용하여자동차객체를생성하는것이목표이다. [ 프로젝트패키지와클래스의내용설명 ] [ [ 프로젝트이름 ] : Project_Car [ 프로젝트를만든목적 ] : 임의의자동차판매소가있다고가정하고, 고객이원하는자동차의각부분을 Java 를이용하여객 체로생성하고, 그것을제어하는메소드를이용하여자동차객체를생성하는것이목표이다. [ 프로젝트패키지와클래스의내용설명 ] [Car 패키지 ] : Body, Engine, Seat, Tire, SpeedGauge, Vendor,

More information

슬라이드 1

슬라이드 1 UNIT 6 배열 로봇 SW 교육원 3 기 학습목표 2 배열을사용핛수있다. 배열 3 배열 (Array) 이란? 같은타입 ( 자료형 ) 의여러변수를하나의묶음으로다루는것을배열이라고함 같은타입의많은양의데이터를다룰때효과적임 // 학생 30 명의점수를저장하기위해.. int student_score1; int student_score2; int student_score3;...

More information

Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET

Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET 135-080 679-4 13 02-3430-1200 1 2 11 2 12 2 2 8 21 Connection 8 22 UniSQLConnection 8 23 8 24 / / 9 3 UniSQL 11 31 OID 11 311 11 312 14 313 16 314 17 32 SET 19 321 20 322 23 323 24 33 GLO 26 331 GLO 26

More information

Microsoft PowerPoint PythonGUI-network

Microsoft PowerPoint PythonGUI-network 순천향대학교컴퓨터공학과 이상정 순천향대학교컴퓨터공학과 1 학습내용 인터넷구조 인터넷구성요소 인터넷주소 클라이언트 / 서버구조 소켓프로그래밍소개 파이썬소켓프로그래밍 TCP 클라이언트 / 서버프로그래밍 쓰레드소개 파이썬쓰레드 채팅클라이언트 / 서버프로그램 네트워크그리드셀예 네트워크연결그리드그리기 순천향대학교컴퓨터공학과 2 구성요소로본인터넷 (1) 호스트 (host),

More information

07 자바의 다양한 클래스.key

07 자바의 다양한 클래스.key [ 07 ] . java.lang Object, Math, String, StringBuffer Byte, Short, Integer, Long, Float, Double, Boolean, Character. java.util Random, StringTokenizer Calendar, GregorianCalendar, Date. Collection, List,

More information

Microsoft PowerPoint - CSharp-15-채팅

Microsoft PowerPoint - CSharp-15-채팅 Socket 클래스이용한채팅프로그램 스트림방식의채팅프로그램 헬퍼클래스방식의채팅프로그램 순천향대학교컴퓨터학부이상정 1 학습내용 Socket 클래스이용한채팅프로그램 스트림방식의채팅프로그램 헬퍼클래스방식의채팅프로그램 순천향대학교컴퓨터학부이상정 2 Socket 클래스이용한채팅프로그램 순천향대학교컴퓨터학부이상정 3 1:1 채팅프로그램 한프로그램이동시에서버와클라이언트로동작

More information

쉽게 풀어쓴 C 프로그래밊

쉽게 풀어쓴 C 프로그래밊 Power Java 제 27 장데이터베이스 프로그래밍 이번장에서학습할내용 자바와데이터베이스 데이터베이스의기초 SQL JDBC 를이용한프로그래밍 변경가능한결과집합 자바를통하여데이터베이스를사용하는방법을학습합니다. 자바와데이터베이스 JDBC(Java Database Connectivity) 는자바 API 의하나로서데이터베이스에연결하여서데이터베이스안의데이터에대하여검색하고데이터를변경할수있게한다.

More information

Microsoft PowerPoint - 12 ¼ÒÄÏÀ» ÀÌ¿ëÇÑ Åë½Å 1.ppt

Microsoft PowerPoint - 12 ¼ÒÄÏÀ» ÀÌ¿ëÇÑ Åë½Å 1.ppt 12 장 소켓을이용한통신 (1) 함수 - inet_addr - inet_ntoa - socket - bind - listen - accept - connect - recv -send 1 서론 파이프를사용하여통신을하기위한시스템호출 / 표준라이브러리함수 함수 의미 inet_addr 문자열형태의인터넷주소를바이너리형태로변환한다. inet_ntoa 바이너리형태의인터넷주소를문자열형태로변환한다.

More information

4장.문장

4장.문장 문장 1 배정문 혼합문 제어문 조건문반복문분기문 표준입출력 입출력 형식화된출력 [2/33] ANSI C 언어와유사 문장의종류 [3/33] 값을변수에저장하는데사용 형태 : < 변수 > = < 식 > ; remainder = dividend % divisor; i = j = k = 0; x *= y; 형변환 광역화 (widening) 형변환 : 컴파일러에의해자동적으로변환

More information

혼자서일을다하는 JSP. 이젠일을 Servlet 과나눠서한다. JSP와서블릿의표현적인차이 - JSP는 <html> 내에서자바를사용할수있는수단을제공한다. - 서블릿은자바내에서 <html> 을작성할수있는수단을제공한다. - JSP나서블릿으로만웹페이지를작성하면자바와다양한코드가

혼자서일을다하는 JSP. 이젠일을 Servlet 과나눠서한다. JSP와서블릿의표현적인차이 - JSP는 <html> 내에서자바를사용할수있는수단을제공한다. - 서블릿은자바내에서 <html> 을작성할수있는수단을제공한다. - JSP나서블릿으로만웹페이지를작성하면자바와다양한코드가 혼자서일을다하는 JSP. 이젠일을 Servlet 과나눠서한다. JSP와서블릿의표현적인차이 - JSP는 내에서자바를사용할수있는수단을제공한다. - 서블릿은자바내에서 을작성할수있는수단을제공한다. - JSP나서블릿으로만웹페이지를작성하면자바와다양한코드가웹페이지내에뒤섞여있어서웹페이지의화면설계가점점어려워진다. - 서블릿이먼저등장하였으나, 자바내에

More information

(Microsoft PowerPoint - Chapter17 RMI.ppt [\310\243\310\257 \270\360\265\345])

(Microsoft PowerPoint - Chapter17 RMI.ppt [\310\243\310\257 \270\360\265\345]) Chapter 17. RMI Mingyu Lim Collaborative Computing Systems Lab, School of Internet & Multimedia Engineering Konkuk University, Seoul, Korea 학습목표 RMI란 RMI 구조 RMI는어떻게동작하는가 로컬객체를원격객체로변경하기 RMI를이용한계산기애플리케이션

More information

예제 2) Test.java class A intvar= 10; void method() class B extends A intvar= 20; 1"); void method() 2"); void method1() public class Test 3"); args) A

예제 2) Test.java class A intvar= 10; void method() class B extends A intvar= 20; 1); void method() 2); void method1() public class Test 3); args) A 제 10 장상속 예제 1) ConstructorTest.java class Parent public Parent() super - default"); public Parent(int i) this("hello"); super(int) constructor" + i); public Parent(char c) this(); super(char) constructor

More information

쉽게

쉽게 Power Java 제 4 장자바프로그래밍기초 이번장에서학습할내용 자바프로그램에대한기초사항을학습 자세한내용들은추후에. Hello.java 프로그램 주석 주석 (comment): 프로그램에대한설명을적어넣은것 3 가지타입의주석 클래스 클래스 (class): 객체를만드는설계도 ( 추후에학습 ) 자바프로그램은클래스들로구성된다. 그림 4-1. 자바프로그램의구조 클래스정의

More information

歯JavaExceptionHandling.PDF

歯JavaExceptionHandling.PDF (2001 3 ) from Yongwoo s Park Java Exception Handling Programming from Yongwoo s Park 1 Java Exception Handling Programming from Yongwoo s Park 2 1 4 11 4 4 try/catch 5 try/catch/finally 9 11 12 13 13

More information

Microsoft PowerPoint 자바-기본문법(Ch2).pptx

Microsoft PowerPoint 자바-기본문법(Ch2).pptx 자바기본문법 1. 기본사항 2. 자료형 3. 변수와상수 4. 연산자 1 주석 (Comments) 이해를돕기위한설명문 종류 // /* */ /** */ 활용예 javadoc HelloApplication.java 2 주석 (Comments) /* File name: HelloApplication.java Created by: Jung Created on: March

More information

PowerPoint Presentation

PowerPoint Presentation public class SumTest { public static void main(string a1[]) { int a, b, sum; a = Integer.parseInt(a1[0]); b = Integer.parseInt(a1[1]); sum = a + b ; // 두수를더하는부분입니다 System.out.println(" 두수의합은 " + sum +

More information

제1장 자바 언어 소개

제1장 자바 언어 소개 Java Network 10.1 TCP/IP 이해 TCP/IP 프로토콜계층도 Applications Transport Internetwork IP Applications TCP/UDP ICMP ARP/RARP Network Interface and Hardware Network Interface and Hardware 10.1 TCP/IP 이해 TCP/IP

More information

FileMaker ODBC and JDBC Guide

FileMaker ODBC and JDBC Guide FileMaker 13 5 5 5 6 6 6 7 7 8 8 8 8 9 9 10 10 11 11 12 12 12 12 12 12 13 13 14 14 16 16 18 4 19 19 20 20 21 21 21 23 23 23 23 25 26 26 26 26 27 28 28 28 28 29 31 31 32 33 33 33 33 34 34 35 35 35 36 1

More information

Microsoft Word - src.doc

Microsoft Word - src.doc IPTV 서비스탐색및콘텐츠가이드 RI 시스템운용매뉴얼 목차 1. 서버설정방법... 5 1.1. 서비스탐색서버설정... 5 1.2. 컨텐츠가이드서버설정... 6 2. 서버운용방법... 7 2.1. 서비스탐색서버운용... 7 2.1.1. 서비스가이드서버실행... 7 2.1.2. 서비스가이드정보확인... 8 2.1.3. 서비스가이드정보추가... 9 2.1.4. 서비스가이드정보삭제...

More information

Microsoft PowerPoint - AUTOMATING BESPOKE ATTACKS.pptx

Microsoft PowerPoint - AUTOMATING BESPOKE ATTACKS.pptx AUTOMATING BESPOKE ATTACKS ENUMERATING VALID IDENTIFIERS 2010. 6. 9. 조소희 차례 유효한식별자나열하기 유효한식별자나열을통한맞춤자동공격법 유효한식별자탐지 스크립트를이용한공격 JAttack 공격 1: 식별자나열하기 유효한식별자나열하기 이름 / 식별자를부분혹은전부알아내서공격에이용 로그인기능이유용한정보를담은메시지를넘겨주는경우

More information

2) 활동하기 활동개요 활동과정 [ 예제 10-1]main.xml 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.

2) 활동하기 활동개요 활동과정 [ 예제 10-1]main.xml 1 <LinearLayout xmlns:android=http://schemas.android.com/apk/res/android 2 xmlns:tools=http://schemas.android. 10 차시파일처리 1 학습목표 내장메모리의파일을처리하는방법을배운다. SD 카드의파일을처리하는방법을배운다. 2 확인해볼까? 3 내장메모리파일처리 1) 학습하기 [ 그림 10-1] 내장메모리를사용한파일처리 2) 활동하기 활동개요 활동과정 [ 예제 10-1]main.xml 1

More information

슬라이드 1

슬라이드 1 UNIT 12 상속과오버라이딩 로봇 SW 교육원 2 기 최상훈 학습목표 2 클래스를상속핛수있다. 메소드오버라이딩을사용핛수있다. 패키지선언과 import 문을사용핛수있다. 상속 (inheritance) 3 상속이란 기존의클래스를기반으로새로운클래스를작성 두클래스를부모와자식으로관계를맺어주는것 자식은부모의모든멤버를상속받음 연관된일렦의클래스에대핚공통적인규약을정의 class

More information

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4 ALTIBASE HDB 6.5.1.5.10 Patch Notes 목차 BUG-46183 DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG-46249 [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4 BUG-46266 [sm]

More information

歯NetworkKawuiBawuiBo.PDF

歯NetworkKawuiBawuiBo.PDF (2000 12 Jr.) from Yongwoo s Park Java Network KawuiBawuiBo Game Programming from Yongwoo s Park 1 Java Network KawuiBawuiBo Game Programming from Yongwoo s Park 2 1. /... 4 1.1 /...4 1.2 /...6 1.3...7

More information