자바네트워킹1.PDF

Size: px
Start display at page:

Download "자바네트워킹1.PDF"

Transcription

1 <JSTORM> Revision <10> JSTORM

2 Issued by: < > Revision: <10> <2000/8/02> Document Information Document title: Document file name: Revision number: <10> Issued by: Issue Date: <2000/8/2 > Status: doc : Final Content Information Audience Abstract Reference Benchmark information - JSTORM <2/135>

3 Issued by: < > Revision: <10> <2000/8/02> Document Approvals Signature date Signature date Revision History Revision Date Author Description of change JSTORM <3/135>

4 Issued by: < > Revision: <10> <2000/8/02> 1 Table of Contents (ICEBLOX) 4 1 URL 2 / 3 - / - JSTORM <4/135>

5 Issued by: < > Revision: <10> <2000/8/02>, (what),,,,, JDK 101, Window 95 Netscape 30 Explorer 30 JDK11 JDK 10X JDK 10X JDK11, JDK1 1, JDK11 JSTORM <5/135>

6 Issued by: < > Revision: <10> <2000/8/02> 1, * C++ (,, ), (!) * *, *, * C/C++ (type checking), *, (machine code), (Byte Code) * (multithread) JSTORM <6/135>

7 Issued by: < > Revision: <10> <2000/8/02>,, < 1>, (C ) CPU ( ), JSTORM <7/135>

8 Issued by: < > Revision: <10> <2000/8/02> < 2>,, (Java Virtual Machine),,,,, < 3>, (container), HTML, JSTORM <8/135>

9 Issued by: < > Revision: <10> <2000/8/02> JSTORM <9/135>

10 Issued by: < > Revision: <10> <2000/8/02> 1) JDK(Java Development Kit),,, JDK URL JDK 11 ftp://ftpjavasoftcom/pub/www/java ftp://ftpjavasoftcom/pub/java JDK * java :, * javac :, java, clas s * appletviewer : HTML * jdb : * javap : * javah : C * javadoc : HTML 2) JDK (prompt),, Visual J++ Visual Cafe Latte Java Workshop JDK 1) Windows 95 FTP exe, MSDOS java JSTORM <10/135>

11 Issued by: < > Revision: <10> <2000/8/02> 2) Unix FTP gz tar tar java JDK, path java bin JDK 1) Windows 965 autoexecbatpath java \bin ) path=c:\java\bin;c:\windows 2) Unix 2 < 4> autoexecbat cshrc path java /bin ) set PATH /usr/local/java/bin:/usr/local/bin 2 * (Application) JDK, (standalone) JSTORM <11/135>

12 Issued by: < > Revision: <10> <2000/8/02> * (Applet) HTML, ( netscape 20, Internet Explorer 30 ) /,, 1) public static void main(string argv[]) { [import ;] /* _ java */ public class _ { public static void main(string argv[]) { < > "Hello, World" public class HelloWorld { public static void main(string argv[]) { Systemoutprintln( Hello, World"); 1) main(), HelloWorldjava 2) javac HelloWorldjava HelloWorldclas s JSTORM <12/135>

13 Issued by: < > Revision: <10> <2000/8/02> 3) java HelloWorld", < 5> "Hello, World" < 5> 2) javaappletapplet init(), start(), stop(), paint() import javaappletapplet; public class Example extends Applet{ public void start(){ < > Hello, World", JSTORM <13/135>

14 Issued by: < > Revision: <10> <2000/8/02> import javaawtgraphics; public class HelloWorld2 extends javaappletapplet { public void init() { resize(150, 25); public void paint(graphics g) { gdrawstring("hello world!", 50, 25); 1) HelloWorld2java 2) javac HelloWorld2java HelloWorld2cl ass ( ) 3) "examplehtml" <html><head><title>a simple program</title></head> <body><applet code="helloworldclass" width=150 height=25></applet> </body></html> 4) appletviewer examplehtml", examplehtml < 6> < 6> 3) &? "public static void main()", JSTORM <14/135>

15 Issued by: < > Revision: <10> <2000/8/02> import javaawtgraphics; public class HelloMerge extends javaappletapplet { public static void main(string argv[]) { Systemoutprintln("Hello, World"); public void init() { resize(150, 25); public void paint(graphics g) { gdrawstring("hello world!", 50, 25);, "public static void main()", JSTORM <15/135>

16 Issued by: < > Revision: <10> <2000/8/02> 1 2, < 1> (thing), (place), (concept),,,,, < 1> < 2>, < 2> ( ) ( ),,, JSTORM <16/135>

17 Issued by: < > Revision: <10> <2000/8/02> < 3>,, < 3> 2,,,,,, import javautil*; public class Company { public static void main(string[] args) { Employee[] worker = new Employee[3]; worker[0] = new Employee("haha", 40000, new Date(89,9,1)); /* Manager Employee -> worker[1] = new Manager("hoho", 60000, new Date(87,11,1)); worker[2] = new Employee("hihi", 50000, new Date(90,9,10)); int i; /* worker[1]raisesalary(10) Manager for ( i=0; i<workerlength;i++) worker[i]raisesalary(10); for ( i=0; i<workerlength;i++) worker[i]print(); JSTORM <17/135>

18 Issued by: < > Revision: <10> <2000/8/02> class Employee { private String name; private double salary; private Date hiredate; public Employee(String n, double s, Date d) { name = n; salary = s; hiredate = d; public void print() { Systemoutprintln(name + " " + salary + " " + hireyear()); public void raisesalary(double bypercent) { salary *= 1 + bypercent/100; public int hireyear() { return hiredategetyear(); /* Employee, ManagerEmployee */ class Manager extends Employee { public Manager(String n, double s, Date d) { super(n,s,d); /* Employee raisesalary */ public void raisesalary(double bypercent) { Date todate = new Date(); double bonus = 05*(toDategetYear() - hireyear()); superraisesalary(bypercent+bonus); < > Companyjava JSTORM <18/135>

19 Issued by: < > Revision: <10> <2000/8/02>, < > < 4> worker[1] = new Manager("hoho", 60000, new Date(87,11,1)); workeremployee, Manager? ManagerEmployee, for ( i=0; i<workerlength;i++) worker[i]raisesalary(10); worker[1]raisesalary(10)employee raisesalary()? Managerrais esalary?, workeremployee Employee worker[1] Manager Manager worker[0], woker[1], worker[2] raisesalary(), worker[0],worker[2]employee, worker[1]manager,,, worker JSTORM <19/135>

20 Issued by: < > Revision: <10> <2000/8/02> Employee[] worker = new Employee[4]; worker[3] = new PartTimer("kiki", 10000, new Date(96,1,1)); for ( i=0; i<workerlength;i++) worker[i]raisesalary(10); for ( i=0; i<workerlength;i++) worker[i]print(); public class PartTimer extends Employee { public void raisesalary(double bypercent) { // CPascal JSTORM <20/135>

21 Issued by: < > Revision: <10> <2000/8/02> 3 au (gif, jpeg), (, 3 ),, au 2,, 1 ( ),, (loop), while( moreframetopaint) { paintcurrentframe(); sleep for some time; // advancetonextframe();,, 2(, ) Runnable run(), paint(), JSTORM <21/135>

22 Issued by: < > Revision: <10> <2000/8/02> import javaawt*; /* implements, */ public class Example1Applet extends javaappletapplet implements Runnable { int frame; // int delay; // Thread animator; // /** *, * */ public void init() { String str = getparameter("fps"); // HTML, "fps int fps = (str!= null)? IntegerparseInt(str) : // delay = (fps > 0)?(1000 / fps) : 100; // milisecond, 1000/fps /** *, */ public void start() { animator = new Thread(this); // animatorstart(); //, run() /** *, * */ public void run() { while (ThreadcurrentThread() == animator) { //, //, repaint(); // try { Threadsleep(delay); // delay catch (InterruptedException e) { JSTORM <22/135>

23 Issued by: < > Revision: <10> <2000/8/02> break; /* frame++, */ frame++; /** * HTML, * */ public void stop() { animator = null; // /* public void paint(graphics g), public void update(graphics g),, */ < >,, 2,,, 3, 1), paint() paint() import javaawt*; JSTORM <23/135>

24 Issued by: < > Revision: <10> <2000/8/02> public class Example4Applet extends javaappletapplet implements Runnable { int frame; int delay; Thread animator; /** * Initialize the applet and compute the delay between frames */ public void init() { String str = getparameter("fps"); int fps = (str!= null)? IntegerparseInt(str) : 10; delay = (fps > 0)? (1000 / fps) : 100; public void start() { animator = new Thread(this); animatorstart(); public void run() { long tm = SystemcurrentTimeMillis(); // while (ThreadcurrentThread() == animator) { repaint(); // delay, try { tm += delay; Threadsleep(Mathmax(0, tm - SystemcurrentTimeMillis())); catch (InterruptedException e) { break; // Advance the frame frame++; public void stop() { animator = null; /** * frame * JSTORM <24/135>

25 Issued by: < > Revision: <10> <2000/8/02> */ public void paint(graphics g) { Dimension d = size(); // int h = dheight / 2; // 2 for (int x = 0 ; x < dwidth ; x++) { //, int y1 = (int)((10 + Mathsin((x - frame) * 005)) * h); int y2 = (int)((10 + Mathsin((x + frame) * 007)) * h); gdrawline(x, y1, x, y2); < > Example4Appletjava HTML HTML APPLET width, height, <TITLE> 1</TITLE> <center> <H1> </H1> </center> <APPLET code=example4appletclass width=500 height=50> <param name=fps value=10> </applet> <HR> < > Example4Applethtml HTML < 1> JSTORM <25/135>

26 Issued by: < > Revision: <10> <2000/8/02> < 1> 1,? repaint()! run() while repaint(), paint(), paint() (Threadsleep()), (frame++) repaint(),, run(),? 2) repaint() repaint() repaint() update() update() paint() update(), update(), import javaawt*; public class Example5Applet extends javaappletapplet implements Runnable { int frame; int delay; Thread animator; public void init() { String str = getparameter("fps"); int fps = (str!= null)? IntegerparseInt(str) : 10; delay = (fps > 0)? (1000 / fps) : 100; public void start() { animator = new Thread(this); animatorstart(); JSTORM <26/135>

27 Issued by: < > Revision: <10> <2000/8/02> public void run() { long tm = SystemcurrentTimeMillis(); while (ThreadcurrentThread() == animator) { repaint(); try { tm += delay; Threadsleep(Mathmax(0, tm - SystemcurrentTimeMillis())); catch (InterruptedException e) { break; frame++; public void stop() { animator = null; /** * update(), update() */ public void paint(graphics g) { update(g); /** * update(), *, * */ public void update(graphics g) { Color bg = getbackground(); // Dimension d = size(); int h = dheight / 2; for (int x = 0 ; x < dwidth ; x++) { int y1 = (int)((10 + Mathsin((x - frame) * 005)) * h); int y2 = (int)((10 + Mathsin((x + frame) * 007)) * h); if (y1 > y2) { // int t = y1; y1 = y2; y2 = t; JSTORM <27/135>

28 Issued by: < > Revision: <10> <2000/8/02> gsetcolor(bg); // gdrawline(x, 0, x, y1); // gdrawline(x, y2, x, dheight); // gsetcolor(colorblack); // gdrawline(x, y1, x, y2); //, < > Example5Appletjava HTML <TITLE> 2</TITLE> <center> <H1> </H1> </center> <APPLET code=example5appletclass width=500 height=50> <param name=fps value=10> </applet> <HR> < > example5applethtml HTML < 2> < 2> 2 1,? JSTORM <28/135>

29 Issued by: < > Revision: <10> <2000/8/02> while repaint() repai nt()update() update(), Component update() update(), u pdate() update(), (T hreadsleep()) (frame++) repaint(), while 1,? 3),, 1) (off screen), 2), 3),,, paint()update(), import javaawt*; 1) 2) CPU (cache), public class Example6Applet extends javaappletapplet implements Runnable { int frame; int delay; Thread animator; JSTORM <29/135>

30 Issued by: < > Revision: <10> <2000/8/02> Dimension offdimension; //, Image offimage; // Image Graphics offgraphics; // Graphics public void init() { String str = getparameter("fps"); int fps = (str!= null)? IntegerparseInt(str) : 10; delay = (fps > 0)? (1000 / fps) : 100; public void start() { animator = new Thread(this); animatorstart(); public void run() { long tm = SystemcurrentTimeMillis(); while (ThreadcurrentThread() == animator) { repaint(); try { tm += delay; Threadsleep(Mathmax(0, tm - SystemcurrentTimeMillis())); catch (InterruptedException e) { break; frame++; public void stop() { animator = null; offimage = null; offgraphics = null; /** *, update() * 1 Image Graphics * 2 * 3 * 4 */ public void update(graphics g) { JSTORM <30/135>

31 Issued by: < > Revision: <10> <2000/8/02> Dimension d = size(); // Image Graphics if ((offgraphics == null) (dwidth!= offdimensionwidth) (dheight!= offdimensionheight)) { offdimension = d; offimage = createimage(dwidth, dheight); // offgraphics = offimagegetgraphics(); // offgraphicssetcolor(getbackground()); // offgraphicsfillrect(0, 0, dwidth, dheight);// offgraphicssetcolor(colorblack); // // paintframe(offgraphics); // gdrawimage(offimage, 0, 0, null); /** * paint() (,, * ), */ public void paint(graphics g) { if (offimage!= null) { gdrawimage(offimage, 0, 0, null); /** * */ public void paintframe(graphics g) { Dimension d = size(); int h = dheight / 2; for (int x = 0 ; x < dwidth ; x++) { int y1 = (int)((10 + Mathsin((x - frame) * 005)) * h); int y2 = (int)((10 + Mathsin((x + frame) * 007)) * h); gdrawline(x, y1, x, y2); JSTORM <31/135>

32 Issued by: < > Revision: <10> <2000/8/02> < > Example6Appletjava HTML <TITLE> 3</TITLE> <center> <H1> </H1> </center> <APPLET code=example6appletclass width=500 height=50> <param name=fps value=10> </applet> <HR> < > Example6Applethtml Example5Appletjava, update() paintframe() update() offimage = createimage(dwidth, dheight); I mage Image Graphics offgraphics = offimagegetgraphics(); offimage Image, offgraphics Graphics Image getgra phics() Graphics offgraphics Image offimage Graphics, offimage offgraphicssetcolor(getbackground()); offgraphicsfillrect(0, 0, dwidth, dheight); offgraphicssetcolor(colorblack); offimage paintframe(), off Image offimage offgraphics JSTORM <32/135>

33 Issued by: < > Revision: <10> <2000/8/02> gdrawimage(offimage, 0, 0, null); offimage (top corner, ) (0, 0) g Graphics, drawimage(image img, int x, i nt y, ImageObserver observer) HTML < 3> < 3> 3, update()paintframe(),, gifjpeg,, < 4>, < 5> < 4> cargif JSTORM <33/135>

34 Issued by: < > Revision: <10> <2000/8/02> import javaawt*; < 5> worldgif public class Example7Applet extends javaappletapplet implements Runnable { int frame; int delay; Thread animator; Dimension offdimension; Image offimage; Graphics offgraphics; Image world; // Image Image car; // Image /* */ public void init() { String str = getparameter("fps"); int fps = (str!= null)? IntegerparseInt(str) : 10; delay = (fps > 0)? (1000 / fps) : 100; world = getimage(getcodebase(), "worldgif"); //, worldgif car = getimage(getcodebase(), "cargif"); //, cargif public void start() { animator = new Thread(this); animatorstart(); public void run() { long tm = SystemcurrentTimeMillis(); while (ThreadcurrentThread() == animator) { repaint(); try { tm += delay; Threadsleep(Mathmax(0, tm - SystemcurrentTimeMillis())); catch (InterruptedException e) { JSTORM <34/135>

35 Issued by: < > Revision: <10> <2000/8/02> break; frame++; public void stop() { animator = null; offimage = null; offgraphics = null; public void update(graphics g) { Dimension d = size(); if ((offgraphics == null) (dwidth!= offdimensionwidth) (dheight!= offdimensionheight)) { offdimension = d; offimage = createimage(dwidth, dheight); offgraphics = offimagegetgraphics(); offgraphicssetcolor(getbackground()); offgraphicsfillrect(0, 0, dwidth, dheight); offgraphicssetcolor(colorblack); paintframe(offgraphics); gdrawimage(offimage, 0, 0, null); public void paint(graphics g) { update(g); /** * 2 * Graphics g */ public void paintframe(graphics g) { Dimension d = size(); int w = worldgetwidth(this); // int h = worldgetheight(this); // if ((w > 0) && (h > 0)) { //, JSTORM <35/135>

36 Issued by: < > Revision: <10> <2000/8/02> gdrawimage(world, (dwidth - w)/2, (dheight - h)/2, this); w = cargetwidth(this); h = cargetheight(this); if ((w > 0) && (h > 0)) { //, w += dwidth; // gdrawimage(car, dwidth - ((frame * 5) % w), (dheight - h)/3, this); // gdrawimage(car, dwidth - ((frame * 7) % w), (dheight - h)/2, this); < > Example7Appletjava 200 <TITLE> 2</TITLE> <center> <H1> </H1> <APPLET code=example7appletclass width=200 height=200> <param name=fps value=10> </applet> </center> <HR> < > Example7Applethtml HTML < 6> JSTORM <36/135>

37 Issued by: < > Revision: <10> <2000/8/02> < 6> Example6Appletjava, init()paintframe() init() world = getimage(getcodebase(), "worldgif"); car = getimage(getcodebase(), "cargif");, worldgifcargif world, car Image worldgifcargif Image getimage(url url, String name)applet, URL name paintframe() offimage 2 gdrawimage(world, (dwidth - w)/2, (dheight - h)/2, this); gdrawimage(car, dwidth - ((frame * 5) % w), (dheight - h)/3, t his); gdrawimage(car, dwidth - ((frame * 7) % w), (dheight - h)/2, this); 2 x frame run() while repaint(), frame 2, JSTORM <37/135>

38 Issued by: < > Revision: <10> <2000/8/02>, duke, < 7> 10 < 7> duke10 import javaawt*; import javaapplet*; public class Example8Applet extends javaappletapplet implements Runnable { int frame; int delay; Thread animator; Dimension offdimension; Image offimage; Graphics offgraphics; Image frames[]; // Image public void init() { String str = getparameter("fps"); int fps = (str!= null)? IntegerparseInt(str) : 10; delay = (fps > 0)? (1000 / fps) : 100; frames = new Image[10]; // 10 Image for (int i = 1 ; i <= 10 ; i++) { // Image frames[i-1] = getimage(getcodebase(), "duke/t" + i + "gif"); public void start() { animator = new Thread(this); animatorstart(); public void run() { long tm = SystemcurrentTimeMillis(); while (ThreadcurrentThread() == animator) { JSTORM <38/135>

39 Issued by: < > Revision: <10> <2000/8/02> repaint(); try { tm += delay; Threadsleep(Mathmax(0, tm - SystemcurrentTimeMillis())); catch (InterruptedException e) { break; frame++; public void stop() { animator = null; offimage = null; offgraphics = null; public void update(graphics g) { Dimension d = size(); if ((offgraphics == null) (dwidth!= offdimensionwidth) (dheight!= offdimensionheight)) { offdimension = d; offimage = createimage(dwidth, dheight); offgraphics = offimagegetgraphics(); offgraphicssetcolor(getbackground()); offgraphicsfillrect(0, 0, dwidth, dheight); offgraphicssetcolor(colorblack); paintframe(offgraphics); gdrawimage(offimage, 0, 0, null); public void paint(graphics g) { update(g); /** * frames, * JSTORM <39/135>

40 Issued by: < > Revision: <10> <2000/8/02> */ public void paintframe(graphics g) { gdrawimage(frames[frame % 10], 0, 0, null); < > Example8Appletjava HTML T1gif~T10gif 55, 68 (pixel) 55, 68 <TITLE> </TITLE> <center> <H1> </H1> <APPLET code=example8appletclass width=55 height=68> <param name=fps value=10> </applet> </center> <HR> < > Example8Applethtml HTML < 8> < 8> init(), JSTORM <40/135>

41 Issued by: < > Revision: <10> <2000/8/02> frames = new Image[10]; for (int i = 1 ; i <= 10 ; i++) { frames[i-1] = getimage(getcodebase(), "duke/t" + i + "gif"); 10 frames, getimage duke T1gif T10gif paintframe(), frame s gdrawimage(frames[frame % 10], 0, 0, null); frames frame%10 frames 10, 0 9 frame, frame10 (0 9) frame repaint() 1,, Example7AppletjavaExample8Appletjava,, getimage(), MediaTracker Example8Appletjava, Example8Appletjava public class Example9Applet implements Runnable { MediaTracker tracker; public void init() { tracker = new MediaTracker(this); frames = new Image[10]; for (int i = 1 ; i <= 10 ; i++) { frames[i-1] = getimage(getcodebase(), "duke/t" + i + "gif"); trackeraddimage(frames[i-1], 0); // JSTORM <41/135>

42 Issued by: < > Revision: <10> <2000/8/02> public void paintframe(graphics g) { //, if (trackerstatusid(0, true) == MediaTrackerCOMPLETE) { gdrawimage(frames[frame % 10], 0, 0, null); < > Example9Appletjava init() tracker = new MediaTracker(this);, trackeraddimage(frames[i-1], 0); 0 MediaTracker addimage(image img, int id) id img paintframe() if (trackerstatusid(0, true) == MediaTrackerCOMPLETE) { gdrawimage(frames[frame % 10], 0, 0, null); trackerstatusid(0, true)0 MediaTracker MediaTracker static COMPLETE, Example9Applet, Exa mple8applet 2 (sun) au 1) javaappletapplet - void play(url sound), void play(url sound, String location) URL, location URL, JSTORM <42/135>

43 Issued by: < > Revision: <10> <2000/8/02> - AudioClip getaudioclip(url url, String location) url, location Audio Clip 2) javaappletaudioclip getaudioclip, AudioClip play(), stop(), loop() AudioClip clip = getaudioclip(getcodebase(), "audio/loopau"); clipplay(); // loopau clipstop(); // cliploop(); // stop() loop(),, init() getaudioclip(),, 4, import javaawtgraphics; import javaapplet*; public class AudioExample extends Applet implements Runnable { AudioClip bgsound; // AudioClip AudioClip beep; // AudioClip Thread sound_runner; // /** init() */ public void init() { bgsound = getaudioclip(getcodebase(), "loopau"); beep = getaudioclip(getcodebase(), "beepau"); /** */ public void start() { if (sound_runner == null) { sound_runner = new Thread(this); sound_runnerstart(); JSTORM <43/135>

44 Issued by: < > Revision: <10> <2000/8/02> /**, stop() */ public void stop() { if ( sound_runner!= null) { if (bgsound!= null) bgsoundstop(); sound_runnerstop(); sound_runner = null; public void run() { if (bgsound!= null) bgsoundloop(); while( sound_runner!= null) { try { Threadsleep(4000); catch (InterruptedException e) { if (bgsound!= null) beepplay(); public void paint(graphics g) { gdrawstring("we are playing sounds Let's Listen!", 10, 10); < > AudioExamplejava HTML, <TITLE> </TITLE> <center> <H1> </H1> <APPLET code=audioexampleclass width=100 height=50> </applet> </center> <HR> < > AudioExamplehtml loopaubeepau AudioExamplehtm l, init(), start(), paint(), run() JSTORM <44/135>

45 Issued by: < > Revision: <10> <2000/8/02> 3,,, MUD, 1 2 3, 4 1, 2 1,,,,,, 2 1), 2),,, " (thing), public class thing { int x, y; //, (x,y) Image picture; // Image JSTORM <45/135>

46 Issued by: < > Revision: <10> <2000/8/02> int priority; // int velocity; //, boolean visible; //, true // /** */ public thing(image picture) { thispicture = picture; //, Image 2,,, (x,y), (x,y) 2,,,,, *, init(), Enemy public class Enemy { int x, y; //, (x,y) Image picture; // Image int velocity; //, boolean visible; //, true JSTORM <46/135>

47 Issued by: < > Revision: <10> <2000/8/02> /** */ public Enemy(Image picture) { thispicture = picture; public void fire(int x, int y) // (x,y) { public void move(int x, int y) // (x,y) { Enemy[] ufo; public void init() { ufo = new Enemy[100]; // 100 for ( int i=0; i<100; i++) ufo[i] = Enemy(); // Enemy, Linked List, Linked List List, List *, run(),, run(), public void run() { while (game!=null) // Thread game, { try { Threadsleep(snooze); // catch (InterruptedException e) { JSTORM <47/135>

48 Issued by: < > Revision: <10> <2000/8/02> switch (gamestate) // { case : (, gameloop() ); break; default: break; repaint(); //, repaint(), 1), public boolean keydown(javaawtevent e,int key) { switch (key) { case : ; break; default: break; public boolean keyup(event e, int key) x,y switch(key) { case 97: ufox -= 2; // A, 2 break; x, y, x JSTORM <48/135>

49 Issued by: < > Revision: <10> <2000/8/02> 2) public boolean mousedown(event evt, int x, int y) public boolean mouseup(event evt, int x, int y) public boolean mousemove(event evt, int x, int y) public boolean mousedrag(event evt, int x, int y) public boolean mouseenter(event evt, int x, int y) public boolean mo useexit(event evt, int x, int y ) x,y *,, repaint(), rep aint() update() update() public void paint(graphics g) { gdrawimage(offimage,0,0,this); // public void update(graphics g) { int k; switch (gamestate) // { case : //, // offgraphicsdrawimage(, x, y, this); // for (k=0; k< ; k++) offgraphicsdrawimage(, x, y, this); break; default: break; paint(g); // JSTORM <49/135>

50 Issued by: < > Revision: <10> <2000/8/02> offgraphics Graphics, of fimage ( ), ufothing, ufo[k]i mage x, y ufo[k]x, ufo[k]y update(), Linked List for Linkded List * AudioClip fire_sound; init(),, public void init() { fire_sound = getaudioclip(getcodebase(), "sound/fire_soundau"); public void gameloop() { ufofire(120, 30); // ufo (120, 30) fire_soundplay(); public class extends Applet implements Runnable { ; public void init() { 1 2, Image 3, 4 JSTORM <50/135>

51 Issued by: < > Revision: <10> <2000/8/02> 5 public void start() { public void run() {, public void paint() { public void update() {,,,,,,,,,,, < 9>1 JSTORM <51/135>

52 Issued by: < > Revision: <10> <2000/8/02> // Iceblox // By Karl Harnell, April import javaawt*; import javaawtimage*; import javanet*; < 9> (icebloxgif) public class iceblox extends javaappletapplet implements Runnable { int i,j,k; final int playx=390,playy=330,mainx=390,mainy=348,smalls=48,blockx=13,blocky=11; final int animp[]={7,8,9,8,10,11,12,11,4,5,6,5,1,2,3,2; final int animf[]={32,33,34,35,36,35,34,33; final int levflame[]={2,3,4,2,3,4,levrock[]={5,6,7,8,9,10; final int levspeed[]={3,3,3,5,5,5,levice[]={35,33,31,29,27,25; final int effmax=5; int playarea[]; int gamestate,counter,dir,infront,infront2,level,coins; int efflevel,lives=3; int x[],y[],dx[],dy[],motion[],look[],creature[],ccount[],actors,flames; int sideix[]={0,-1,1,-15,15,coordx[]={0,-30,30,0,0,coordy[]={0,0,0,-30,30; Image collection,offimage,playfield,small[],title; Graphics offgraphics,playgraphics,tempg; MediaTracker tracker; ImageFilter filter; ImageProducer collectionproducer; long snooze=100,score; Thread game; Math m; /**, Image */ public void init() JSTORM <52/135>

53 Issued by: < > Revision: <10> <2000/8/02> { setbackground(colorblack); offimage=createimage(mainx,mainy); offgraphics=offimagegetgraphics(); offgraphicssetcolor(colorblack); offgraphicsfillrect(0,0,mainx,mainy); playfield=createimage(playx,playy); playgraphics=playfieldgetgraphics(); playgraphicssetcolor(colorblack); tracker=new MediaTracker(this); collection = getimage(getcodebase(),"icebloxgif"); trackeraddimage(collection,0); try { trackerwaitforid(0); catch(interruptedexception e) { collectionproducer=collectiongetsource(); small=new Image[smalls]; k=0;i=0;j=0; while (k<smalls) { filter=new CropImageFilter(j*30,i*30,30,30); small[k]=createimage(new FilteredImageSource( collectionproducer,filter)); trackeraddimage(small[k],1); k++; j++; if (j==8) { j=0; i++; filter=new CropImageFilter(0,180,224,64); title=createimage(new FilteredImageSource( collectionproducer,filter)); trackeraddimage(title,1); playarea=new int[(blockx+2)*(blocky+3)]; x=new int[20]; y=new int[20]; dx=new int[20]; dy=new int[20]; look=new int[20]; motion=new int[20]; creature=new int[20]; ccount=new int[20]; JSTORM <53/135>

54 Issued by: < > Revision: <10> <2000/8/02> gamestate=7; try { trackerwaitforid(1); catch(interruptedexception e) { resize(mainx,mainy); /** */ public void run() { while (game!=null) { try { gamesleep(snooze); catch (InterruptedException e) { counter=(counter+1)&255; switch (gamestate) { case 0: preparefield(); break; case 1: showfield(); break; case 2: gameloop(); // break; case 3: happypenguin(); break; case 4: clearfield(); break; case 5: fixdeath(); break; case 6: gameover(); break; case 7: drawintro1(); break; case 8: JSTORM <54/135>

55 Issued by: < > Revision: <10> <2000/8/02> waitintro1(); break; case 9: drawintro2(); break; case 10: waitintro2(); break; case 11: drawintro3(); break; case 12: waitintro3(); break; default: break; repaint(); public void start() { if (game==null) { game=new Thread(this); gamestart(); public void stop() { if ((game!=null)&&(gameisalive())) { gamestop(); game=null; public boolean keydown(javaawtevent e,int key) { if (gamestate==2) { switch (key) { case 97: dir=1; // A break; case 100: dir=2; // D JSTORM <55/135>

56 Issued by: < > Revision: <10> <2000/8/02> break; case 107: dir=3; // K break; case 109: dir=4; // M break; default: break; else if ((gamestate>6)&&(key==32)) gamestate=0; return false; public boolean keyup(javaawtevent e,int key) { dir=0; return false; /**,, */ public void preparefield() { int i,j,p,q; if (level>effmax) efflevel=effmax; else efflevel=level; offgraphicssetcolor(colorblack); offgraphicsfillrect(0,0,mainx,mainy); playgraphicssetcolor(colorblack); playgraphicsfillrect(0,0,playx,playy); offgraphicssetcolor(colorlightgray); offgraphicsfill3drect(0,mainy-playy-4,mainx,4,true); offgraphicssetcolor(colorwhite); offgraphicsdrawstring("score:",2,12); updatescore(0); offgraphicsdrawstring("level: "+(level+1),125,12); offgraphicsdrawstring("spare LIVES:",220,12); for (i=0;i<lives;i++) offgraphicsdrawimage(small[13],300+i*15,-16,this); for (i=0;i<(blockx+2)*(blocky+3);i++) playarea[i]=1; for (i=1;i<=blocky;i++) for (j=1;j<=blockx;j++) JSTORM <56/135>

57 Issued by: < > Revision: <10> <2000/8/02> playarea[i*(blockx+2)+j]=0; playarea[blockx+3]=1; i=0; while (i<levice[efflevel]) // { p=1+(int)(mrandom()*blockx); q=1+(int)(mrandom()*blocky); if (playarea[q*(blockx+2)+p]==0) { playarea[q*(blockx+2)+p]=2; playgraphicsdrawimage(small[16],(p-1)*30,(q-1)*30,this); i++; i=0; while (i<levrock[efflevel]) // { p=1+(int)(mrandom()*blockx); q=1+(int)(mrandom()*blocky); if (playarea[q*(blockx+2)+p]==0) { playarea[q*(blockx+2)+p]=1; playgraphicsdrawimage(small[14],(p-1)*30,(q-1)*30,this); i++; i=0; while (i<5) // { p=1+(int)(mrandom()*blockx); q=1+(int)(mrandom()*blocky); if (playarea[q*(blockx+2)+p]==0) { playarea[q*(blockx+2)+p]=10; playgraphicsdrawimage(small[24],(p-1)*30,(q-1)*30,this); i++; playarea[blockx+3]=0; // Clear start square gamestate=1; snooze=100; counter=0; motion[0]=0; actors=1; coins=0; flames=0; look[0]=0; JSTORM <57/135>

58 Issued by: < > Revision: <10> <2000/8/02> x[0]=30; y[0]=30; dx[0]=6; dy[0]=6; look[0]=2; creature[0]=1; for (i=0;i<20;i++) ccount[i]=0; public void showfield() { Graphics savegraphics; savegraphics=offgraphicscreate(); offgraphicscliprect(playx/2-(counter*playx/2/30),mainy-playy+ playy/2-(counter*playy/2/30),counter*playx/30,counter*playy/30); offgraphicsdrawimage(playfield,0,mainy-playy,this); if (counter==30) { gamestate=2; snooze=100; offgraphics=savegraphics; /** */ public void gameloop() { if (flames<levflame[efflevel]) { if (x[0]<(playx/2)) x[actors]=playx+30; else x[actors]=0; y[actors]=30*(1+(int)(mrandom()*blocky)); j=(y[actors]/30)*(blockx+2)+x[actors]/30; motion[actors]=0; dx[actors]=levspeed[efflevel]; dy[actors]=levspeed[efflevel]; creature[actors]=4; if ((playarea[j+1]==0) (playarea[j-1]==0)) { actors++; flames++; for (i=0;i<actors;i++) { JSTORM <58/135>

59 Issued by: < > Revision: <10> <2000/8/02> ccount[i]++; switch(motion[i]) { case 1: x[i]-=dx[i]; break; case 2: x[i]+=dx[i]; break; case 3: y[i]-=dy[i]; break; case 4: y[i]+=dy[i]; break; default: break; j=(y[i]/30)*(blockx+2)+x[i]/30; switch(creature[i]) { case 1: // if ((x[i]%30 == 0)&&(y[i]%30 == 0)) motion[i]=0; if (motion[i]==0) { infront=playarea[j+sideix[dir]]; if ((j+2*sideix[dir])<0) infront2=1; else infront2=playarea[j+2*sideix[dir]]; if (infront==0) motion[i]=dir; else { if ((infront2==0)&&((infront==2) (infront==10))) //? { if (infront==2) { creature[actors]=2; look[actors]=16; else JSTORM <59/135>

60 Issued by: < > Revision: <10> <2000/8/02> { creature[actors]=3; look[actors]=24; x[actors]=x[i]+coordx[dir]; y[actors]=y[i]+coordy[dir]; dx[actors]=15; dy[actors]=15; playgraphicsfillrect(x[actors]-30,y[actors]-30,30,30); motion[actors]=dir; actors++; playarea[j+sideix[dir]]=0; else if ((infront>1)&&(infront<18)) // Crack ice { playarea[j+sideix[dir]]++; if (infront==9) // All cracked? { playgraphicsfillrect(x[i]+coordx[dir]-30,y[i]+coordy[dir]-30,30,30); playarea[j+sideix[dir]]=0; updatescore(5); else if (infront==17) { playgraphicsfillrect(x[i]+coordx[dir]-30,y[i]+coordy[dir]-30,30,30); playarea[j+sideix[dir]]=0; updatescore(100); coins++; else JSTORM <60/135>

61 Issued by: < > Revision: <10> <2000/8/02> playgraphicsdrawimage(small[infront+15],x[i]+coordx[dir]-30,y[i]+coordy[dir]-30,this); if (motion[i]!=0) look[i]=animp[(motion[i]-1)*4+counter%4]; for (k=1;k<actors;k++) if (creature[k]==4) if (((x[k]-x[i])<20)&&((x[i]- x[k])<20)&&((y[k]-y[i])<20)&&((y[i]-y[k])<20)) { creature[k]=6; x[k]=0; y[k]=0; motion[k]=0; ccount[i]=0; dx[i]=0; dy[i]=0; creature[i]=7; break; case 2: // if ((x[i]%30 == 0)&&(y[i]%30 == 0)&&(playArea[j+sideIX[motion[i]]]!=0)) { playarea[j]=2; playgraphicsdrawimage(small[16],x[i]- 30,y[i]-30,this); removeactor(i); break; case 3: // if ((x[i]%30 == 0)&&(y[i]%30 == 0)&&(playArea[j+sideIX[motion[i]]]!=0)) { playarea[j]=10; playgraphicsdrawimage(small[24],x[i]- 30,y[i]-30,this); removeactor(i); break; case 4: // look[i]=animf[counter%8]; if (motion[i]==0) motion[i]=(int)(1+mrandom()*4); if ((x[i]%30 == 0)&&(y[i]%30 == 0)) // JSTORM <61/135>

62 Issued by: < > Revision: <10> <2000/8/02> { if (((x[i]-x[0])<3)&&((x[0]-x[i])<3)) { if (y[i]>y[0]) motion[i]=3; else motion[i]=4; else if (((y[i]-y[0])<3)&&((y[0]-y[i])<3)) { if (x[i]>x[0]) motion[i]=1; else motion[i]=2; if (playarea[j+sideix[motion[i]]]!=0) motion[i]=0; for (k=1;k<actors;k++) //? if ((creature[k]&254)==2) if // (((x[k]- x[i])<30)&&((x[i]-x[k])<30)&&((y[k]-y[i])<30)&&((y[i]-y[k])<30)) { creature[i]=5; k=actors; look[i]=37; motion[i]=0; ccount[i]=0; updatescore(50); break; case 5: // "50" look[i]=37+(counter&1); if (ccount[i]>20) { flames --; removeactor(i); break; case 6: // break; case 7: //, if (ccount[i]<8) look[i]=39+ccount[i]; else if (ccount[i]<30) look[i]=47; JSTORM <62/135>

63 Issued by: < > Revision: <10> <2000/8/02> else { lives--; if (lives<0) gamestate=5; else { actors=1; flames=0; counter=0; dx[i]=6; dy[i]=6; creature[0]=1; look[0]=2; offgraphicssetcolor(colorblack); offgraphicsfillrect(300,0,45,14); for (k=0;k<lives;k++) offgraphicsdrawimage(small[13],300+k*15,-16,this); break; default: break; if (coins>4) { gamestate=3; updatescore(1000); counter=0; coins=0; offgraphicsdrawimage(playfield,0,mainy-playy,this); public void happypenguin() { if (counter>35) { level++; gamestate=4; counter=0; public void clearfield() { JSTORM <63/135>

64 Issued by: < > Revision: <10> <2000/8/02> offgraphicssetcolor(colorblack); offgraphicsfillrect(playx/2-(playx*counter/30),mainy-playy/2-(playy*counter/30), playx*counter/15,playy*counter/15); if (counter>14) gamestate=0; public void fixdeath() { offgraphicssetcolor(colorblack); offgraphicsfillrect(0,0,mainx,mainy); offgraphicssetcolor(colorwhite); offgraphicsdrawstring("game OVER",175,100); offgraphicsdrawstring("you scored "+score,160,130); offgraphicsdrawimage(small[2],190,150,this); counter=0; gamestate=6; public void gameover() { if (counter>80) gamestate=7; public void drawintro1() { level=0; score=0; lives=3; offgraphicssetcolor(colorblack); offgraphicsfillrect(0,0,mainx,mainy); offgraphicssetcolor(colorwhite); offgraphicsdrawimage(title,(mainx-224)/2,10,this); offgraphicsdrawstring("actors AND OBJECTS",145,97); offgraphicsdrawimage(small[2],140,110,this); offgraphicsdrawstring("pixel Pete, the penguin",180,130); offgraphicsdrawimage(small[34],120,150,this); offgraphicsdrawimage(small[32],140,150,this); offgraphicsdrawstring("evil flames",180,170); offgraphicsdrawimage(small[16],140,190,this); offgraphicsdrawstring("ice cube",180,210); offgraphicsdrawimage(small[14],140,230,this); offgraphicsdrawstring("solid rock",180,250); offgraphicsdrawimage(small[24],140,270,this); offgraphicsdrawstring("frozen gold coin",180,290); offgraphicsdrawstring("press SPACE to start",138,330); counter=0; gamestate=8; JSTORM <64/135>

65 Issued by: < > Revision: <10> <2000/8/02> public void waitintro1() { offgraphicssetcolor(colorblack); offgraphicsfillrect(120,150,50,30); offgraphicsdrawimage(small[animf[(counter+2)&7]],120,150,this); offgraphicsdrawimage(small[animf[counter&7]],140,150,this); if (counter>70) gamestate=9; public void drawintro2() { offgraphicssetcolor(colorblack); offgraphicsfillrect(0,75,mainx,230); offgraphicssetcolor(colorwhite); offgraphicsdrawstring("how TO PLAY",165,97); offgraphicsdrawimage(small[2],140,110,this); offgraphicsdrawstring("move up, down, left and right",180,122); offgraphicsdrawstring("with the K, M, A and D keys",180,137); offgraphicsdrawimage(small[10],70,150,this); offgraphicsdrawimage(small[16],140,150,this); offgraphicsdrawstring("walk against ice cubes",180,162); offgraphicsdrawstring("to move them out of the way",180,177); offgraphicsdrawline(110,160,136,160); offgraphicsdrawline(116,169,136,169); offgraphicsdrawimage(small[10],80,190,this); offgraphicsdrawimage(small[18],110,190,this); offgraphicsdrawimage(small[16],140,190,this); offgraphicsdrawstring("walk against blocked",180,202); offgraphicsdrawstring("ice cubes to crack them",180,217); offgraphicsdrawimage(small[28],110,230,this); offgraphicsdrawimage(small[9],140,230,this); offgraphicsdrawstring("free the gold coins by",180,242); offgraphicsdrawstring("crushing the ice around them",180,257); offgraphicsdrawimage(small[9],80,270,this); offgraphicsdrawimage(small[32],140,270,this); offgraphicsdrawline(110,280,126,280); offgraphicsdrawline(110,289,130,289); offgraphicsdrawstring("and watch out",180,282); offgraphicsdrawstring("for the flames",180,297); gamestate=10; counter=0; public void waitintro2() { offgraphicssetcolor(colorblack); offgraphicsdrawimage(small[1+(counter % 12)],140,110,this); offgraphicsfillrect(140,270,30,30); JSTORM <65/135>

66 Issued by: < > Revision: <10> <2000/8/02> offgraphicsdrawimage(small[animf[counter&7]],140,270,this); if (counter>80) gamestate=11; public void drawintro3() { offgraphicssetcolor(colorblack); offgraphicsfillrect(0,75,mainx,230); offgraphicssetcolor(colorwhite); offgraphicsdrawstring("scoring",180,97); offgraphicsdrawimage(small[10],110,110,this); offgraphicsdrawimage(small[18],140,110,this); offgraphicsdrawstring("breaking ice,",180,122); offgraphicsdrawstring("5 points",180,137); offgraphicsdrawimage(small[33],60,150,this); offgraphicsdrawimage(small[16],80,150,this); offgraphicsdrawimage(small[9],140,150,this); offgraphicsdrawline(112,160,126,160); offgraphicsdrawline(112,169,130,169); offgraphicsdrawstring("putting out flame",180,162); offgraphicsdrawstring("with ice, 50 points",180,177); offgraphicsdrawimage(small[10],110,190,this); offgraphicsdrawimage(small[27],140,190,this); offgraphicsdrawstring("freeing coin,",180,202); offgraphicsdrawstring("100 points",180,217); for (j=0;j<5;j++) offgraphicsdrawimage(small[15],100-9*j,230,this); offgraphicsdrawimage(small[39],140,230,this); offgraphicsdrawstring("taking all coins and advancing",180,242); offgraphicsdrawstring("to next level, 1000 points",180,257); gamestate=12; counter=0; public void waitintro3() { offgraphicssetcolor(colorblack); offgraphicsfillrect(60,150,20,30); offgraphicsdrawimage(small[animf[counter&7]],60,150,this); offgraphicsdrawimage(small[16],80,150,this); if (counter>70) gamestate=7; public void removeactor(int i) { int j; for (j=i;j<actors;j++) { JSTORM <66/135>

67 Issued by: < > Revision: <10> <2000/8/02> x[j]=x[j+1]; y[j]=y[j+1]; dx[j]=dx[j+1]; dy[j]=dy[j+1]; look[j]=look[j+1]; motion[j]=motion[j+1]; creature[j]=creature[j+1]; actors--; public void updatescore(long i) { score+=i; offgraphicssetcolor(colorblack); offgraphicsfillrect(50,0,60,12); offgraphicssetcolor(colorwhite); offgraphicsdrawstring(stringvalueof(score),50,12); public void paint(graphics g) { gdrawimage(offimage,0,0,this); public void update(graphics g) { int k; switch (gamestate) { case 2: // offgraphicsdrawimage(playfield,0,mainy-playy,this); for (k=0;k<actors;k++) offgraphicsdrawimage(small[look[k]],x[k]-30,y[k]- 30+mainY-playY,this); break; case 3: offgraphicsdrawimage(small[39*(counter&1)],x[0]-30,y[0]- 30+mainY-playY,this); break; default: break; paint(g); < > Icebloxjava HTML JSTORM <67/135>

68 Issued by: < > Revision: <10> <2000/8/02> <HTML> <HEAD> <TITLE> </TITLE> </HEAD> <body bgcolor=ffffff> <center> <h2> </h2> < > <APPLET CODE="icebloxclass" width=350 height=390> </APPLET> </center> </BODY> </HTML> < > Icebloxhtml, 3, < 10> JSTORM <68/135>

69 Issued by: < > Revision: <10> <2000/8/02> < 11> < 12>, < 13> JSTORM <69/135>

70 Issued by: < > Revision: <10> <2000/8/02> < 13> *,,, javaawtimage < 14> (30, 40), 30 < 14> JSTORM <70/135>

71 Issued by: < > Revision: <10> <2000/8/02> Image collection; // ImageFilter filter; ImageProducer collectionproducer; Image part; // collection public void init() { collection = getimage(getcodebase(),"icebloxgif"); // collectionproducer=collectiongetsource(); // ImageProducer filter=new CropImageFilter(30, 40, 30, 30); // (30,40), 30 part = createimage(new FilteredImageSource(collectionProducer,filter)); // *,,?, < 15> < 15> (xa1<(xb1+xbsx)) and (xb1<(xa1+xasx)) and (ya1<(yb1+ybsy)) and (yb1<(ya1+yasy)),,, JSTORM <71/135>

72 Issued by: < > Revision: <10> <2000/8/02>, JSTORM <72/135>

73 Issued by: < > Revision: <10> <2000/8/02> 4, javanet, U RL Socket, ServerSocket, DatagramSocket Java 10X 1 URL URL < 1> URL(Uniform Resource Locator) (resource) < 1> URL URL URL, 1) URL(String url) URL selab = new URL(" - selab, URL 2) URL(URL baseurl, String relativeurl) URL, seintro =new URL(selab, introhtml) ; -" URL seintro JSTORM <73/135>

74 Issued by: < > Revision: <10> <2000/8/02> URL CGI, URL import javanet*; import javaio*; class URLInput { public static void main( String args[]) { try { URL selab = new URL(" DataInputStream in_stream; // URL String inputline; // URL String in_stream = new DataInputStream(selabopenStream()); while ((inputline = in_streamreadline())!= null) { Systemoutprintln(inputLine) ; // in_streamclose(); // catch (MalformedURLException me) { Systemoutprintln("MalformedURLException: " + me); catch (IOException ioe) { Systemoutprintln("IOException: "+ioe); < > URLInputjava "java URLInput" in_stream = new DataInputStream(selabopenStream()); URL openstream() URL, DataInputStream, DataInputStream URL while ((inputline = in_streamreadline())!= null) { JSTORM <74/135>

75 Issued by: < > Revision: <10> <2000/8/02> (examcokr), CGI (enter) CGI "Success", Failure" CGI, CGI? import javaio* ; import javanet* ; public class Success { public static void main(string args[]) { try{ if (argslength!= 1) { // Systemerrprintln("Usage: java Success seat_number"); Systemexit (1); String seat_num = URLEncoderencode(args[0]); // (encoding) URL url = new URL(" // CGI URL URLConnection connection = urlopenconnection(); PrintStream outstream = new PrintStream(connectiongetOutputStream()); DataInputStream instream; String inputline; outstreamprintln(seat_num); outstreamclose(); instream = new DataInputStream(connectiongetInputStream()); while ((inputline = instreamreadline())!= null) { Systemoutprintln(inputLine) ; // CGI instreamclose(); catch (MalformedURLException me) { Systemerrprintln("MalformedURLExceprion: " + me); catch (IOException ioe) { Systemerrprintln("IOException: " + ioe); < > Successjava JSTORM <75/135>

76 Issued by: < > Revision: <10> <2000/8/02> "java Success examcokr cg i-bin/enter CGI, String seat_num = URLEncoderencode(args[0]); URLEncoder (static) encode(string str)str x-www-formurlencoded" MIME CGI x-www-form-urlencoded", CGI URL, URLConnection connection = urlopenconnection(); PrintStream outstream = new PrintStream(connectiongetOutputStream()); URL, PrintStream PrintStream outstream, outstream outstreamprintln(seat_num); (seat_num) URL, CGI, CGI instream = n ew DataInputStream(connectiongetInputStream()); while ((inputline = instreamreadline())!= null) { Systemoutprintln(inputLine) ; instream, instreamreadline() CGI DataInputStream, PrintStream, CGI 1 CGI URL URL url = new URL(" URLConnection connection = urlopenconnection(); 2 URL (Stream) PrintStream outstream = new PrintStream(connectiongetOutputStream()); DataInputStream instream = new DataInputStream(connectiongetInputStream()); 3, CGI outstreamprintln(seat_num); JSTORM <76/135>

77 Issued by: < > Revision: <10> <2000/8/02> 4 CGI, instream = new DataInputStream(connectiongetInputStream()); while ((inputline = instreamreadline())!= null) { Systemoutprintln(inputLine) ; 5 outstreamclose(); instreamclose(); 2 / URL, (Socket),,,,,, javanet Socket, ServerSocket, DatagramSocket TCPUDP, 2, UDP TCP, / /,,,, 2,,,, / 3, 1 / JSTORM <77/135>

78 Issued by: < > Revision: <10> <2000/8/02> < 1> /, ( ), 2 / < 2> / ( ),,, MUD 3 /,, DB, DB JSTORM <78/135>

79 Issued by: < > Revision: <10> <2000/8/02> < 3> / 1, 2 < 4> / < 4> /, 1, Socket echosocket = new Socket(, ); 2, PrintStream os = new PrintStream(echoSocketgetOutputStream());, OutputStream, JSTORM <79/135>

80 Issued by: < > Revision: <10> <2000/8/02> 3 osprintln( ); 4, DataInputStream is = new DataInputStream(echoSocketgetInputStream()); 5 String in_string = isreadline(); 6, osclose(); isclose(); echosocketclose();,,, l ServerSocket serversocket = new ServerSocket( ); - Socket clientsocket = serversocketaccept(); -, ServerSocketaccept() 2, DataInputStream is = new DataInputStream(clientSocketgetInputStream()) ; 3 String in_str = isreadline(); 4, PrintStream os = new PrintStream(clientSocketgetOutputStream()); 5 osprintln( ); 6, JSTORM <80/135>

81 Issued by: < > Revision: <10> <2000/8/02> isclose() ; osclose(); clientsocketclose(); serversocketclose();,, Data InputStream, PrintStream, BufferedInputStream, 3 BufferedInputStream = new BufferedInputStream(clientSocketgetInputStream()) ; /! < 1> /,,, import javaapplet*; import javaawt*; import javaio*; import javanet*; import javalang*; public class nut_client extends Applet { int PORT = 9878; // Socket c_socket; DataInputStream in; PrintStream out; TextField inputfield; // TextArea outputarea; // StreamListener listener; // public void init() { try { // c_socket = new Socket(thisgetCodeBase()getHost(), PORT); JSTORM <81/135>

82 Issued by: < > Revision: <10> <2000/8/02> Systemoutprintln("Client! make socket successfully"); in = new DataInputStream(c_socketgetInputStream()); out = new PrintStream(c_socketgetOutputStream()); Systemoutprintln("Client! make stream successfully!"); inputfield = new TextField(); outputarea = new TextArea(); outputareaseteditable(false); // thissetlayout(new BorderLayout()); thisadd("north", inputfield); thisadd("center", outputarea); listener = new StreamListener(in, outputarea); // thisshowstatus("connected to "+c_socketgetinetaddress()gethostname()+" : "+c_socketgetport()); catch (IOException e){ thisshowstatus(etostring()); /** GUI */ public boolean action(event e, Object what) { if (etarget == inputfield) { //, Enter outprintln((string)earg); //, inputfieldsettext(""); // return true; return false; /** */ class StreamListener extends Thread { DataInputStream in; TextArea output; /* */ public StreamListener(DataInputStream in, TextArea output) { Systemoutprintln("Client! enter in StreamListener"); thisin = in; thisoutput = output; thisstart(); // public void run() { // String line; JSTORM <82/135>

83 Issued by: < > Revision: <10> <2000/8/02> Systemoutprintln("enter in run()"); try { for ( ; ; ) { line = inreadline(); // Systemoutprintln("Client! line : "+line); if (line == null) break; outputsettext(line); // catch (IOException e){ outputsettext(etostring()); outputsettext("connection closed by server"); < > nut_clientjava HTML <HTML> <HEAD> <TITLE> Socket Test </TITLE> </HEAD> <APPLET CODE="nut_clientclass" WIDTH=300 HEIGHT=300> </APPLET> </BODY> </HTML>, < 5> JSTORM <83/135>

84 Issued by: < > Revision: <10> <2000/8/02> < 5> < 6>,, c_socket = new Socket(thisgetCodeBase()getHost(), PORT); thisgetcodebase()gethost() g JSTORM <84/135>

85 Issued by: < > Revision: <10> <2000/8/02> etcodebase() URL, URL /, GUI, action() action() Enter, java nut_server &"(& ) import javaio*; import javanet*; import javalang*; public class nut_server extends Thread { int PORT = 9878; // ServerSocket s_socket; public static void main(string[] args) { int port=0; new nut_server(port); // public nut_server(int port) { if (port == 0) port = PORT; try { s_socket = new ServerSocket(port); // ServerSocket Systemoutprintln("open server socket successfully!"); catch (IOException e) { error_handling(e, "fail to open server socket") ; Systemoutprintln("Server : listening on port "+port); thisstart(); // public void run() { // JSTORM <85/135>

86 Issued by: < > Revision: <10> <2000/8/02> try { while (true) { // // Socket c_socket = s_socketaccept(); Systemoutprintln("accept client socket successfully!"); Connection c = new Connection(c_socket); // catch (IOException e) {error_handling(e, "fail in accepting a client") ; // error handling routine public static void error_handling(ioexception e, String msg) { Systemerrprintln(msg+" : "+e); Systemexit(1); /**, * */ class Connection extends Thread { Socket client=null; DataInputStream in=null; PrintStream out=null; public Connection(Socket c_socket) { client = c_socket; try { // in = new DataInputStream(clientgetInputStream()); out = new PrintStream(clientgetOutputStream()); Systemoutprintln("make data stream successfully"); catch (IOException e) { try { clientclose(); Systemoutprintln("close the client socket successfully"); c atch (IOException e1) {error_handling(e1, "fail in closing client socket"); error_handling(e, "fail in getting socket streams"); thisstart(); // JSTORM <86/135>

87 Issued by: < > Revision: <10> <2000/8/02> public void run() { String line; StringBuffer revline; int len; try { for ( ; ; ) { line = inreadline(); // Systemoutprintln("line : "+line); if (line == null) break; len = linelength(); Systemoutprintln("the length of this string : "+len); revline = new StringBuffer(len); for (int i=len-1; i>=0; i--) // revlineinsert(len-1-i, linecharat(i)); outprintln(revline); // Systemoutprintln("revline : "+revline); catch (IOException e) {error_handling(e, "line input or output error"); try{ clientclose(); catch (IOException e) { error_handling(e, "finally fail in closing client socket"); // error handling routine public static void error_handling(ioexception e, String msg) { Systemerrprintln(msg+" : "+e); Systemexit(1); < > nut_serverjava "java nut_server &", 100,, Connection JSTORM <87/135>

88 Issued by: < > Revision: <10> <2000/8/02> while (true) { Socket c_socket = s_socketaccept(); Systemoutprintln("accept client socket successfully!"); Connection c = new Connection(c_socket); //,, Connection while, Connection run(), ( ), "Connect" Log Out" import javaawt*; import javaappletapplet; import javanet*; import javaio*; public class Client extends Applet implements Runnable { boolean is_connected = false; TextField textfield; TextArea textarea; // TextField name; // Socket to_server; DataInputStream is; PrintStream os; Thread thread; Label name_box; Label input_box; Label users; TextArea user_list; // Button quit; // JSTORM <88/135>

89 Issued by: < > Revision: <10> <2000/8/02> Button connect; // public void init() { setbackground(colorlightgray); setfont(new Font("Helvetica", FontPLAIN, 12)); textfield = new TextField(55); textarea = new Text Area(10, 55); user_list = new TextArea(10,30); textareaseteditable(false); user_listseteditable(false); name = new TextField(25); quit = new Button("Log Out"); connect = new Button ("Connect"); name_box = new Label("Your name is: ",LabelLEFT); input_box = new Label("Type your text on the line below",labelleft); users = new Label("These are the people online: "); // add(name_box); add(name); add(connect); add(quit); add(textarea); add(input_box); add(textfield); add(users); add(user_list); validate(); public void start(){ thread = new Thread(this,"main"); threadstart(); public void run(){ try{ textareaappendtext("hit the connect button to start\n"); while (true){ try{threadsleep(300);catch(interruptedexception e){ if (!is_connected is == null os == null) //, continue; // if (isavailable() > 0 ){ //, String text = isreadline() + '\n'; // text if (textstartswith("##names##")) // JSTORM <89/135>

90 Issued by: < > Revision: <10> <2000/8/02> write_list(textsubstring(9)); // else textareaappendtext(text);//, catch(ioexception e){ /** */ public void write_list(string list){ int i; int next; user_listsettext (""); // for (i=0;i<listlength();i++){ // next = listindexof(' ',i); // if (next >= listlength() next == -1) break; user_listappendtext(listsubstring(i,next)+'\n'); // i = next; // /**, */ public boolean handleevent(event evt) { if (!is_connected && evtid == EventACTION_EVENT){// GUI, textareaappendtext("hit the connect button to connect\n"); if(evttarget==name ){ // name, String text=namegettext(); textareaappendtext("trying to connect\n"); try{ try{ to_server = new Socket(getCodeBase()getHost(),4444); catch(unknownhostexception e){ textareaappendtext("not able to connect, sorry\n"); return superhandleevent(evt); false); is = new DataInputStream(new BufferedInputStream(to_servergetInputStream())); os = new PrintStream (new BufferedOutputStream(to_servergetOutputStream(),1024), catch(ioexception e){ is_connected = true; //make a connection osprintln("##name##" + text); osflush(); textareaappendtext("\nyour name is '"+text+"' right now \n"); JSTORM <90/135>

91 Issued by: < > Revision: <10> <2000/8/02> // GUI if (evtid==eventaction_event&&is_connected){ if (os == null is == null){ textareaappendtext("an error has occured\n"); return superhandleevent(evt); if (evttarget == textfield){ // String text = textfieldgettext(); textfieldsettext(""); osprintln(text); // osflush(); if (evttarget == quit && is_connected){ // textareaappendtext("preparing to log off\n"); if (os == null is == null){ textareaappendtext("an error has occured Not logged on\n"); return superhandleevent(evt); osprintln("##quit##"); osflush(); try{ if (os!= null) osclose(); if (is!= null) isclose(); if (to_server!= null) to_serverclose(); catch(ioexception e){textareaappendtext("error loggin off\n"); textareaappendtext("sucessfully logged off\n"); user_listsettext(""); //clear the user list is_connected = false; //no longer connected if (evttarget == connect &&!is_connected){ //, String text=namegettext(); int len = textlength(); if(len!= 0 ) { textareaappendtext("trying to connect\n"); try{ try{ to_server = new Socket(getCodeBase()getHost(),4444); catch(unknownhostexception e){ textareaappendtext("not able to connect, sorry\n"); JSTORM <91/135>

92 Issued by: < > Revision: <10> <2000/8/02> return superhandleevent(evt); is = new DataInputStream(new BufferedInputStream(to_servergetInputStream())); os = new PrintStream (new BufferedOutputStream(to_servergetOutputStream(),1024), false); catch(ioexception e){ is_connected = true; // return superhandleevent(evt); osprintln("##name##" + text); osflush(); textareaappendtext("\nyour name is '"+text+"' right now \n"); /*, */ public void stop(){ textareaappendtext("preparing to log off\n"); if (os!= null){ osprintln("##quit##"); osflush(); try{ if (os!= null) osclose(); if (is!= null) isclose(); if (to_server!= null) to_serverclose(); catch(ioexception e){textareaappendtext("error loggin off\n"); textareaappendtext("sucessfully logged off\n"); user_listsettext(""); // is_connected = false; // < > Clientjava HTML <html> <applet code = "Clientclass", width = 500 height = 500> </applet> </html> JSTORM <92/135>

93 Issued by: < > Revision: <10> <2000/8/02> < > Clienthtml HTML, < 6> < 6> "kck", "kjs" hahaha" handleevent GUI action(), GUI,, import javanet*; import javaio*; import javalang*; class Server{ JSTORM <93/135>

94 Issued by: < > Revision: <10> <2000/8/02> static int users = 0; // static socket_stuff clients[] = new socket_stuff[29]; // 29 public static void main(string args[]) { ServerSocket serversocket = null; int i; try { serversocket = new ServerSocket(4444); catch (IOException e) { Systemoutprintln("Could not listen on port: " ", " + e); Systemexit(1); Socket clientsocket = null; connection user = new connection(serversocket); if (users == 0){ //, try { clientsocket = serversocketaccept(); catch (IOException e) { //Systemoutprintln("Accept failed: " ", " + e); Systemexit(1); add_client(new socket_stuff(clientsocket)); // String inputline,outputline; // String userstart(); // connection try { inputline = "Greetings user"; i = users; // int test; boolean flag = true; while (users >= 0) { // 1 if (users>0 && i<=users ){ test = clients[i]can_read(); if (test == -1){ //, remove_client(i); // else if (test == 1){ //, inputline = clients[i]read_string(); // flag = process_line(inputline,i); // if (flag){ // if (clients[i]!= null) JSTORM <94/135>

95 Issued by: < > Revision: <10> <2000/8/02> write_all(clients[i]name+": "+inputline); // // 2, try{ userjoin(2); catch(interruptedexception e) { if (userconnected() == true){ //, add_client(new socket_stuff(userget_socket())); // userresume(); // i++; if (i>users && users>=1) // i=1; if (i>users && users<1) i=0; serversocketclose(); catch(ioexception e){ /** */ static void send_names(){ //sends the name list to every body String names = new String("##names##"); // int i; if (users < 1) //, return; for (i=1;i<=users;i++) // if (clients [i]!= null) //if everthing is in order names = names + clients[i]name + " "; // write_all(names); // /**,, * Log out" */ static boolean process_line (String line,int i){ //false if don't echo line if (linestartswith("##name##")){ //, JSTORM <95/135>

96 Issued by: < > Revision: <10> <2000/8/02> clients[i]name = linesubstring(8); // // clients[i]write_string("name changed to "+linesubstring(8)); send_names(); // return false; else if (lineequals("##quit##")){ // Log out", write_all(clients[i]name+" is logging out"); // "Logout" remove_client(i); return false; return true; //, /** */ static void write_all (String text){ int i; for (i=1;i<=users;i++) clients[i]write_string(text); /** */ static void add_client(socket_stuff client){ if (users >= 25){ // 25, clientwrite_string("sorry, there are too many users right now"); clientkill(); return; clients[++users] = client; // clients[users]write_string("you have been connected"); // send_names(); // /** */ static void remove_client(int client){ clients[client]kill(); // clients[client]=clients[users]; // clients[users]=null; // users--; // 1 send_names(); // JSTORM <96/135>

97 Issued by: < > Revision: <10> <2000/8/02> /**, *, */ class connection extends Thread{ Socket socket = null; // public boolean is_connected = false; // ServerSocket server = null; connection (ServerSocket server_sock){ server = server_sock; boolean connected(){ return is_connected; /** */ Socket get_socket(){ Systemoutprintln("Returning the socket"); is_connected = false; return socket; public void run(){ while (true){ // is_connected = false; //Systemoutprintln("In run Method"); //, add_client() // if (!is_connected) { //Systemoutprintln("Trying for new connection"); try{ socket = serveraccept(); // catch(ioexception e) { //Systemoutprintln("Problem with accept"); //Systemoutprintln("Received new connection"); is_connected = true; thissuspend(); //, JSTORM <97/135>

98 Issued by: < > Revision: <10> <2000/8/02> /** */ class socket_stuff{ Socket socket; DataInputStream is; PrintStream os; String name = new String("Guest"); // socket_stuff(socket client){ //Systemoutprintln("getting the socket info"); //get the streams try{ is = new DataInputStream(new BufferedInputStream(clientgetInputStream())); os = new PrintStream (new BufferedOutputStream(clientgetOutputStream(), 1024), false); socket = client; catch(ioexception e){ /** */ public void write_string (String s){ //Systemoutprintln ("Writing to socket"); osprintln(s); // osflush(); /** */ public String read_string(){ //Systemoutprintln("Reading from socket"); try{ String inputline = isreadline(); // return inputline; catch(ioexception e){ return "null"; /** */ public int can_read(){ boolean test; if (oscheckerror()){ //, Systemoutprintln("oscheckError"); return -1; try{ test = (isavailable()>1); // catch(ioexception e){ return -1; JSTORM <98/135>

99 Issued by: < > Revision: <10> <2000/8/02> if (test) // 1 return 1; else return 0; // 0 /** */ public void kill(){ try{ if (os!= null) osclose(); if (is!= null) isclose(); if (socket!= null) socketclose(); catch (IOException e){ < > Serverjava Server, connection, socket_stuff 3 Server, connectionsocket_stuff,, ( "quit") connection,,,, socket_stuff, JSTORM <99/135>

100 Issued by: < > Revision: <10> <2000/8/02> (prototype), 1) - -, - ( ) 2) -, -, ( ), -, 1), java ServerBaduk &" 2) "Badukclass" HTML <html> <head> <title> ABadukApplet</title> </head> <body bgcolor="ffffff"> <center> <h2>!</h2> <appletcode="badukclass"width=480height=470> </applet> </center> </body> </html> JSTORM <100/135>

101 Issued by: < > Revision: <10> <2000/8/02> < > Badukhtml! Badukhtml", ( ) ID "pjh" ID, ID (< 1> ) < 1> pjh" ID haha", "Request" ID < 2>, "haha", Ok" < 2> "Request",, haha" < 3> pjh" < 3> haha" JSTORM <101/135>

102 Issued by: < > Revision: <10> <2000/8/02>, "haha""ok", pjh" Start", < 4> < 4> Start",, ( ), Log out" import javaappletapplet; import javaawt*; import javaio*; import javanet*; public class Baduk extends Applet implements BadukConstant{ Panel p,s; public Inframe f=new Inframe(this); public BadukLogic bl = new BadukLogic(this,f); public void init(){ setbackground(colorwhite); p = new Panel(); /* Panel */ JSTORM <102/135>

자바로

자바로 ! from Yongwoo s Park ZIP,,,,,,,??!?, 1, 1 1, 1 (Snow Ball), /,, 5,,,, 3, 3, 5, 7,,,,,,! ,, ZIP, ZIP, images/logojpg : images/imageszip :, backgroundjpg, shadowgif, fallgif, ballgif, sf1gif, sf2gif, sf3gif,

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

10-Java Applet

10-Java Applet JAVA Programming Language JAVA Applet Java Applet >APPLET< >PARAM< HTML JAR 2 JAVA APPLET HTML HTML main( ). public Applet 3 (HelloWorld.html) Applet

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

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

자바-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

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

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D313939392D382E687770>

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D313939392D382E687770> i ii iii iv v vi 1 2 3 4 가상대학 시스템의 국내외 현황 조사 가상대학 플랫폼 개발 이상적인 가상대학시스템의 미래상 제안 5 웹-기반 가상대학 시스템 전통적인 교수 방법 시간/공간 제약을 극복한 학습동기 부여 교수의 일방적인 내용전달 교수와 학생간의 상호작용 동료 학생들 간의 상호작용 가상대학 운영 공지사항,강의록 자료실, 메모 질의응답,

More information

MasoJava4_Dongbin.PDF

MasoJava4_Dongbin.PDF JSTORM http://wwwjstormpekr Issued by: < > Revision: Document Information Document title: Document file name: MasoJava4_Dongbindoc Revision number: Issued by: < > SI, dbin@handysoftcokr

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

01-OOPConcepts(2).PDF

01-OOPConcepts(2).PDF Object-Oriented Programming Concepts Tel: 02-824-5768 E-mail: hhcho@selabsoongsilackr? OOP (Object) (Encapsulation) (Message) (Class) (Inheritance) (Polymorphism) (Abstract Class) (Interface) 2 1 + = (Dependency)

More information

자바GUI실전프로그래밍2_장대원.PDF

자바GUI실전프로그래밍2_장대원.PDF JAVA GUI - 2 JSTORM http://wwwjstormpekr JAVA GUI - 2 Issued by: < > Document Information Document title: JAVA GUI - 2 Document file name: Revision number: Issued by: Issue Date:

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

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

fundamentalOfCommandPattern_calmglow_pattern_jstorm_1.0_f…

fundamentalOfCommandPattern_calmglow_pattern_jstorm_1.0_f… Command JSTORM http://www.jstorm.pe.kr Command Issued by: < > Revision: Document Information Document title: Command Document file name: Revision number: Issued by: Issue

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

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

<4D F736F F F696E74202D20C1A63235C0E520B3D7C6AEBFF6C5A920C7C1B7CEB1D7B7A1B9D628B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

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

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 @ Lesson 1,..... @ 1 Green Project 1991 Oak Java 1995. 5 December '90 by Patrick Naughton, Mike Sheridan and James Gosling Embedded in various consumer electronic device 1992. 9. 3 Star 7 1993 www portability

More information

<4D F736F F F696E74202D20C1A63236C0E520BED6C7C3B8B428B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C1A63236C0E520BED6C7C3B8B428B0ADC0C729205BC8A3C8AF20B8F0B5E55D> Power Java 제 26 장애플릿 이번장에서학습할내용 애플릿소개 애플릿작성및소개 애플릿의생명주기 애플릿에서의그래픽컴포넌트의소개 Applet API의이용 웹브라우저상에서실행되는작은프로그램인애플릿에대하여학습합니다. 애플릿이란? 애플릿은웹페이지같은 HTML 문서안에내장되어실행되는자바프로그램이다. 애플릿을실행시키는두가지방법 1. 웹브라우저를이용하는방법 2. Appletviewer를이용하는방법

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

歯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

03-JAVA Syntax(2).PDF

03-JAVA Syntax(2).PDF JAVA Programming Language Syntax of JAVA (literal) (Variable and data types) (Comments) (Arithmetic) (Comparisons) (Operators) 2 HelloWorld application Helloworldjava // class HelloWorld { //attribute

More information

05-class.key

05-class.key 5 : 2 (method) (public) (private) (interface) 5.1 (Method), (public method) (private method) (constructor), 3 4 5.2 (client). (receiver)., System.out.println("Hello"); (client object) (receiver object)

More information

Java ~ Java program: main() class class» public static void main(string args[])» First.java (main class ) /* The first simple program */ public class

Java ~ Java program: main() class class» public static void main(string args[])» First.java (main class ) /* The first simple program */ public class Linux JAVA 1. http://java.sun.com/j2se/1.4.2/download.html J2SE 1.4.2 SDK 2. Linux RPM ( 9 ) 3. sh j2sdk-1_4_2_07-linux-i586-rpm.bin 4. rpm Uvh j2sdk-1_4_2_07-linux-i586-rpm 5. PATH JAVA 1. vi.bash_profile

More information

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

비긴쿡-자바 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

Interstage5 SOAP서비스 설정 가이드

Interstage5 SOAP서비스 설정 가이드 Interstage 5 Application Server ( Solaris ) SOAP Service Internet Sample Test SOAP Server Application SOAP Client Application CORBA/SOAP Server Gateway CORBA/SOAP Gateway Client INTERSTAGE SOAP Service

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

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 - 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

Microsoft PowerPoint - ÀÚ¹Ù08Àå-1.ppt

Microsoft PowerPoint - ÀÚ¹Ù08Àå-1.ppt AWT 컴포넌트 (1) 1. AWT 패키지 2. AWT 프로그램과이벤트 3. Component 클래스 4. 컴포넌트색칠하기 AWT GUI 를만들기위한 API 윈도우프로그래밍을위한클래스와도구를포함 Graphical User Interface 그래픽요소를통해프로그램과대화하는방식 그래픽요소를 GUI 컴포넌트라함 윈도우프로그램만들기 간단한 AWT 프로그램 import

More information

ch09

ch09 9 Chapter CHAPTER GOALS B I G J A V A 436 CHAPTER CONTENTS 9.1 436 Syntax 9.1 441 Syntax 9.2 442 Common Error 9.1 442 9.2 443 Syntax 9.3 445 Advanced Topic 9.1 445 9.3 446 9.4 448 Syntax 9.4 454 Advanced

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 @ Lesson 4 (Object) (Class) (Instance) (Method) (Constructor) Memory 1 UML 1 @ & 1 (Real World) (Software World) @ &.. () () @ & 2 (Real World) (Software World) OOA/ Modeling Abstraction Instantiation

More information

untitled

untitled Push... 2 Push... 4 Push... 5 Push... 13 Push... 15 1 FORCS Co., LTD A Leader of Enterprise e-business Solution Push (Daemon ), Push Push Observer. Push., Observer. Session. Thread Thread. Observer ID.

More information

Chap7.PDF

Chap7.PDF Chapter 7 The SUN Intranet Data Warehouse: Architecture and Tools All rights reserved 1 Intranet Data Warehouse : Distributed Networking Computing Peer-to-peer Peer-to-peer:,. C/S Microsoft ActiveX DCOM(Distributed

More information

Javascript.pages

Javascript.pages JQuery jquery part1 JavaScript : e-mail:leseraphina@naver.com http://www.webhard.co.kr I.? 2 ......,,. : : html5 ; ; .

More information

1

1 1 1....6 1.1...6 2. Java Architecture...7 2.1 2SDK(Software Development Kit)...8 2.2 JRE(Java Runtime Environment)...9 2.3 (Java Virtual Machine, JVM)...10 2.4 JVM...11 2.5 (runtime)jvm...12 2.5.1 2.5.2

More information

제8장 자바 GUI 프로그래밍 II

제8장 자바 GUI 프로그래밍 II 제8장 MVC Model 8.1 MVC 모델 (1/7) MVC (Model, View, Controller) 모델 스윙은 MVC 모델에기초를두고있다. MVC란 Xerox의연구소에서 Smalltalk 언어를바탕으로사용자인터페이스를개발하기위한방법 MVC는 3개의구성요소로구성 Model : 응용프로그램의자료를표현하기위한모델 View : 자료를시각적으로 (GUI 방식으로

More information

Orcad Capture 9.x

Orcad Capture 9.x OrCAD Capture Workbook (Ver 10.xx) 0 Capture 1 2 3 Capture for window 4.opj ( OrCAD Project file) Design file Programe link file..dsn (OrCAD Design file) Design file..olb (OrCAD Library file) file..upd

More information

5장.key

5장.key JAVA Programming 1 (inheritance) 2!,!! 4 3 4!!!! 5 public class Person {... public class Student extends Person { // Person Student... public class StudentWorker extends Student { // Student StudentWorker...!

More information

OPCTalk for Hitachi Ethernet 1 2. Path. DCOMwindow NT/2000 network server. Winsock update win95. . . 3 Excel CSV. Update Background Thread Client Command Queue Size Client Dynamic Scan Block Block

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

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

11 템플릿적용 - Java Program Performance Tuning (김명호기술이사)

11 템플릿적용 - Java Program Performance Tuning (김명호기술이사) Java Program Performance Tuning ( ) n (Primes0) static List primes(int n) { List primes = new ArrayList(n); outer: for (int candidate = 2; n > 0; candidate++) { Iterator iter = primes.iterator(); while

More information

3ÆÄÆ®-11

3ÆÄÆ®-11 Chapter 11 Chapter 12 Chapter 13 Chapter 14 Chapter 15 Chapter 16 Chapter 17 C # N e t w o r k P r o g r a m m i n g Part 3 _ chapter 11 ICMP >>> 430 Chapter 11 _ 1 431 Part 3 _ 432 Chapter 11 _ N o t

More information

13주-14주proc.PDF

13주-14주proc.PDF 12 : Pro*C/C++ 1 2 Embeded SQL 3 PRO *C 31 C/C++ PRO *C NOT! NOT AND && AND OR OR EQUAL == = SQL,,, Embeded SQL SQL 32 Pro*C C SQL Pro*C C, C Pro*C, C C 321, C char : char[n] : n int, short, long : float

More information

Dialog Box 실행파일을 Web에 포함시키는 방법

Dialog Box 실행파일을 Web에 포함시키는 방법 DialogBox Web 1 Dialog Box Web 1 MFC ActiveX ControlWizard workspace 2 insert, ID 3 class 4 CDialogCtrl Class 5 classwizard OnCreate Create 6 ActiveX OCX 7 html 1 MFC ActiveX ControlWizard workspace New

More information

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Crash Unity SDK... Log & Crash Search. - Unity3D v4.0 ios

More information

09-interface.key

09-interface.key 9 Database insert(record r): boolean find(key k): Record 1 Record getkey(): Key * Record Key Database.? Key equals(key y): boolean Database insert(record r): boolean find(key k): Record * Database OK 1

More information

Sena Technologies, Inc. HelloDevice Super 1.1.0

Sena Technologies, Inc. HelloDevice Super 1.1.0 HelloDevice Super 110 Copyright 1998-2005, All rights reserved HelloDevice 210 ()137-130 Tel: (02) 573-5422 Fax: (02) 573-7710 E-Mail: support@senacom Website: http://wwwsenacom Revision history Revision

More information

Modern Javascript

Modern Javascript ES6 - Arrow Function Class Template String Destructuring Default, Rest, Spread let, const for..of Promises Module System Map, Set * Generator * Symbol * * https://babeljs.io/ Babel is a JavaScript compiler.

More information

FileMaker ODBC 및 JDBC 가이드

FileMaker ODBC 및 JDBC 가이드 FileMaker ODBC JDBC 2004-2019 FileMaker, Inc.. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker, FileMaker Cloud, FileMaker Go FileMaker, Inc.. FileMaker WebDirect FileMaker,

More information

Microsoft PowerPoint - java1-lab5-ImageProcessorTestOOP.pptx

Microsoft PowerPoint - java1-lab5-ImageProcessorTestOOP.pptx 2018 학년도 1 학기 JAVA 프로그래밍 II 514760-1 2018 년봄학기 5/10/2018 박경신 Lab#1 (ImageTest) Lab#1 은영상파일 (Image) 을읽어서정보를출력 Java Tutorials Lesson: Working with Images https://docs.oracle.com/javase/tutorial/2d/images/index.html

More information

14-Servlet

14-Servlet JAVA Programming Language Servlet (GenericServlet) HTTP (HttpServlet) 2 (1)? CGI 3 (2) http://jakarta.apache.org JSDK(Java Servlet Development Kit) 4 (3) CGI CGI(Common Gateway Interface) /,,, Client Server

More information

FileMaker 15 ODBC 및 JDBC 설명서

FileMaker 15 ODBC 및 JDBC 설명서 FileMaker 15 ODBC JDBC 2004-2016 FileMaker, Inc.. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker FileMaker Go FileMaker, Inc.. FileMaker WebDirect FileMaker, Inc... FileMaker.

More information

DocsPin_Korean.pages

DocsPin_Korean.pages Unity Localize Script Service, Page 1 Unity Localize Script Service Introduction Application Game. Unity. Google Drive Unity.. Application Game. -? ( ) -? -?.. 준비사항 Google Drive. Google Drive.,.. - Google

More information

초보자를 위한 자바 2 21일 완성 - 최신개정판

초보자를 위한 자바 2 21일 완성 - 최신개정판 .,,.,. 7. Sun Microsystems.,,. Sun Bill Joy.. 15... ( ), ( )... 4600. .,,,,,., 5 Java 2 1.4. C++, Perl, Visual Basic, Delphi, Microsoft C#. WebGain Visual Cafe, Borland JBuilder, Sun ONE Studio., Sun Java

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

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 인터페이스, 람다식, 패키지 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 홈네트워킹 public interface RemoteControl { public void turnon(); // 가전제품을켠다. public void turnoff(); // 가전제품을끈다. 인터페이스를구현 public class Television

More information

6주차.key

6주차.key 6, Process concept A program in execution Program code PCB (process control block) Program counter, registers, etc. Stack Heap Data section => global variable Process in memory Process state New Running

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

9장.key

9장.key JAVA Programming 1 GUI(Graphical User Interface) 2 GUI!,! GUI! GUI, GUI GUI! GUI AWT Swing AWT - java.awt Swing - javax.swing AWT Swing 3 AWT(Abstract Windowing Toolkit)! GUI! java.awt! AWT (Heavy weight

More information

교육2 ? 그림

교육2 ? 그림 Interstage 5 Apworks EJB Application Internet Revision History Edition Date Author Reviewed by Remarks 1 2002/10/11 2 2003/05/19 3 2003/06/18 EJB 4 2003/09/25 Apworks5.1 [ Stateless Session Bean ] ApworksJava,

More information

chapter1,2.doc

chapter1,2.doc JavaServer Pages Version 08-alpha copyright2001 B l u e N o t e all rights reserved http://jspboolpaecom vesion08-alpha, UML (?) part1part2 Part1 part2 part1 JSP Chapter2 ( ) Part 1 chapter 1 JavaServer

More information

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

(Microsoft PowerPoint - ETRSRHFRXNAM.ppt [\310\243\310\257 \270\360\265\345]) 자바애플릿 학습목표 애플릿동작환경 브라우저에서애플릿이동작하는방법 애플릿프로그램밍 Applet 클래스 폰트및칼라 이미지로드및출력 애니메이션 더블버퍼링을이용한이미지로드및출력 사운드로드및출력 애플릿에서이벤트처리 애플릿프로그램이란? 클라이언트시스템이서버로부터웹페이지를다운로드받았을때, 웹페이지의특정한윈도우에서동작하는프로그램 동작과정 www.webserver.com 2

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

untitled

untitled - -, (insert) (delete) - - (insert) (delete) (top ) - - (insert) (rear) (delete) (front) A A B top A B C top push(a) push(b) push(c) A B top pop() top A B D push(d) top #define MAX_STACK_SIZE 100 int

More information

프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어

프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어 개나리 연구소 C 언어 노트 (tyback.egloos.com) 프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어먹고 하더라구요. 그래서,

More information

( )부록

( )부록 A ppendix 1 2010 5 21 SDK 2.2. 2.1 SDK. DevGuide SDK. 2.2 Frozen Yoghurt Froyo. Donut, Cupcake, Eclair 1. Froyo (Ginger Bread) 2010. Froyo Eclair 0.1.. 2.2. UI,... 2.2. PC 850 CPU Froyo......... 2. 2.1.

More information

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O Orange for ORACLE V4.0 Installation Guide ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE...1 1....2 1.1...2 1.2...2 1.2.1...2 1.2.2 (Online Upgrade)...11 1.3 ORANGE CONFIGURATION ADMIN...12 1.3.1 Orange Configuration

More information

10장.key

10장.key JAVA Programming 1 2 (Event Driven Programming)! :,,,! ( )! : (batch programming)!! ( : )!!!! 3 (Mouse Event, Action Event) (Mouse Event, Action Event) (Mouse Event, Container Event) (Key Event) (Key Event,

More information

10X56_NWG_KOR.indd

10X56_NWG_KOR.indd 디지털 프로젝터 X56 네트워크 가이드 이 제품을 구입해 주셔서 감사합니다. 본 설명서는 네트워크 기능 만을 설명하기 위한 것입니다. 본 제품을 올바르게 사 용하려면 이 취급절명저와 본 제품의 다른 취급절명저를 참조하시기 바랍니다. 중요한 주의사항 이 제품을 사용하기 전에 먼저 이 제품에 대한 모든 설명서를 잘 읽어 보십시오. 읽은 뒤에는 나중에 필요할 때

More information

1217 WebTrafMon II

1217 WebTrafMon II (1/28) (2/28) (10 Mbps ) Video, Audio. (3/28) 10 ~ 15 ( : telnet, ftp ),, (4/28) UDP/TCP (5/28) centralized environment packet header information analysis network traffic data, capture presentation network

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

강의10

강의10 Computer Programming gdb and awk 12 th Lecture 김현철컴퓨터공학부서울대학교 순서 C Compiler and Linker 보충 Static vs Shared Libraries ( 계속 ) gdb awk Q&A Shared vs Static Libraries ( 계속 ) Advantage of Using Libraries Reduced

More information

hd1300_k_v1r2_Final_.PDF

hd1300_k_v1r2_Final_.PDF Starter's Kit for HelloDevice 1300 Version 11 1 2 1 2 3 31 32 33 34 35 36 4 41 42 43 5 51 52 6 61 62 Appendix A (cross-over) IP 3 Starter's Kit for HelloDevice 1300 1 HelloDevice 1300 Starter's Kit HelloDevice

More information

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r Jakarta is a Project of the Apache

More information

JavaPrintingModel2_JunoYoon.PDF

JavaPrintingModel2_JunoYoon.PDF 2 JSTORM http://wwwjstormpekr 2 Issued by: < > Revision: Document Information Document title: 2 Document file name: Revision number: Issued by: Issue Date:

More information

강의자료

강의자료 Copyright, 2014 MMLab, Dept. of ECE, UOS Java Swing 2014 년 3 월 최성종서울시립대학교전자전기컴퓨터공학부 chois@uos.ac.kr http://www.mmlab.net 차례 2014년 3월 Java Swing 2 2017-06-02 Seong Jong Choi Java Basic Concepts-3 Graphical

More information

11장.key

11장.key JAVA Programming 1 GUI 2 2 1. GUI! GUI! GUI.! GUI! GUI 2. GUI!,,,!! GUI! GUI 11 : GUI 12 : GUI 3 4, JComponent 11-1 :, JComponent 5 import java.awt.*; import java.awt.event.*; import javax.swing.*; public

More information

Remote UI Guide

Remote UI Guide Remote UI KOR Remote UI Remote UI PDF Adobe Reader/Adobe Acrobat Reader. Adobe Reader/Adobe Acrobat Reader Adobe Systems Incorporated.. Canon. Remote UI GIF Adobe Systems Incorporated Photoshop. ..........................................................

More information

자바 프로그래밍

자바 프로그래밍 5 (kkman@mail.sangji.ac.kr) (Class), (template) (Object) public, final, abstract [modifier] class ClassName { // // (, ) Class Circle { int radius, color ; int x, y ; float getarea() { return 3.14159

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Synergy EDMS www.comtrue.com opyright 2001 ComTrue Technologies. All right reserved. - 1 opyright 2001 ComTrue Technologies. All right reserved. - 2 opyright 2001 ComTrue Technologies. All right reserved.

More information

초보자를 위한 C# 21일 완성

초보자를 위한 C# 21일 완성 C# 21., 21 C#., 2 ~ 3 21. 2 ~ 3 21.,. 1~ 2 (, ), C#.,,.,., 21..,.,,, 3. A..,,.,.. Q&A.. 24 C#,.NET.,.,.,. Visual C# Visual Studio.NET,..,. CD., www. TeachYour sel f CSharp. com., ( )., C#.. C# 1, 1. WEEK

More information

ilist.add(new Integer(1))과 같이 사용하지 않고 ilist.add(1)과 같이 사용한 것은 자바 5.0에 추가된 기본 자료형과 해당 객체 자료 형과의 오토박싱/언박싱 기능을 사용한 것으로 오토박싱이란 자바 컴파일러가 객체를 요구하는 곳에 기본 자료형

ilist.add(new Integer(1))과 같이 사용하지 않고 ilist.add(1)과 같이 사용한 것은 자바 5.0에 추가된 기본 자료형과 해당 객체 자료 형과의 오토박싱/언박싱 기능을 사용한 것으로 오토박싱이란 자바 컴파일러가 객체를 요구하는 곳에 기본 자료형 바에 제네릭스(generics)를 도입하기 위한 연구는 이미 8년 전인 1996년부터라고 한다. 실제로 자바에 제네릭스를 도입하 는 몇 가지 방안들이 논문으로 나오기 시작한 것이 1998년 초임을 감 안하면 무려 8년이 지난 후에야 자바 5.0에 전격 채택되었다는 것은 이것이 얼마나 어려운 일이었나 하는 것을 보여준다. 자바의 스펙을 결정하는 표준화 절차인

More information

<4D F736F F F696E74202D20C1A63234C0E520C0D4C3E2B7C228B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

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

More information

C 프로그래밍 언어 입문 C 프로그래밍 언어 입문 김명호저 숭실대학교 출판국 머리말..... C, C++, Java, Fortran, Python, Ruby,.. C. C 1972. 40 C.. C. 1999 C99. C99. C. C. C., kmh ssu.ac.kr.. ,. 2013 12 Contents 1장 프로그래밍 시작 1.1 C 10 1.2 12

More information

Mobile Service > IAP > Android SDK [ ] IAP SDK TOAST SDK. IAP SDK. Android Studio IDE Android SDK Version (API Level 10). Name Reference V

Mobile Service > IAP > Android SDK [ ] IAP SDK TOAST SDK. IAP SDK. Android Studio IDE Android SDK Version (API Level 10). Name Reference V Mobile Service > IAP > Android SDK IAP SDK TOAST SDK. IAP SDK. Android Studio IDE 2.3.3 Android SDK Version 2.3.3 (API Level 10). Name Reference Version License okhttp http://square.github.io/okhttp/ 1.5.4

More information

USB USB DV25 DV25 REC SRN-475S REC SRN-475S LAN POWER LAN POWER Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl C

USB USB DV25 DV25 REC SRN-475S REC SRN-475S LAN POWER LAN POWER Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl C USB USB DV25 DV25 REC SRN-475S REC SRN-475S LAN POWER LAN POWER Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl Cable PC PC Step 1~5. Step, PC, DVR Step 1. Cable Step

More information

untitled

untitled 1... 2 System... 3... 3.1... 3.2... 3.3... 4... 4.1... 5... 5.1... 5.2... 5.2.1... 5.3... 5.3.1 Modbus-TCP... 5.3.2 Modbus-RTU... 5.3.3 LS485... 5.4... 5.5... 5.5.1... 5.5.2... 5.6... 5.6.1... 5.6.2...

More information

3ÆÄÆ®-14

3ÆÄÆ®-14 chapter 14 HTTP >>> 535 Part 3 _ 1 L i Sting using System; using System.Net; using System.Text; class DownloadDataTest public static void Main (string[] argv) WebClient wc = new WebClient(); byte[] response

More information

PWR PWR HDD HDD USB USB Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl Cable PC PC DDNS (

PWR PWR HDD HDD USB USB Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl Cable PC PC DDNS ( PWR PWR HDD HDD USB USB Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl Cable PC PC DDNS (http://ddns.hanwha-security.com) Step 1~5. Step, PC, DVR Step 1. Cable Step

More information

mytalk

mytalk 한국정보보호학회소프트웨어보안연구회 총괄책임자 취약점분석팀 안준선 ( 항공대 ) 도경구 ( 한양대 ) 도구개발팀도경구 ( 한양대 ) 시큐어코딩팀 오세만 ( 동국대 ) 전체적인 그림 IL Rules Flowgraph Generator Flowgraph Analyzer 흐름그래프 생성기 흐름그래프 분석기 O parser 중간언어 O 파서 RDL

More information

JavaGeneralProgramming.PDF

JavaGeneralProgramming.PDF , Java General Programming from Yongwoo s Park 1 , Java General Programming from Yongwoo s Park 2 , Java General Programming from Yongwoo s Park 3 < 1> (Java) ( 95/98/NT,, ) API , Java General Programming

More information

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 2012.11.23 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Document Distribution Copy Number Name(Role, Title) Date

More information

Microsoft PowerPoint - JavaPrimer.ppt [호환 모드]

Microsoft PowerPoint - JavaPrimer.ppt [호환 모드] Linux 용 JAVA 설치 1. http://java.sun.com/javase/downloads/index.jsp 에서 JDK 6u1 의 Download 를 선택하여해당플랫폼의 JDK 6u1 를다운받는다 2. Linux용 RPM버전 1) sh jdk-6u1-linux-i586-rpm.bin 2) rpm Uvh jdk-6u1-linux-i586-rpm 3)

More information

K&R2 Reference Manual 번역본

K&R2 Reference Manual 번역본 typewriter structunion struct union if-else if if else if if else if if if if else else ; auto register static extern typedef void char short int long float double signed unsigned const volatile { } struct

More information

LCD Display

LCD Display LCD Display SyncMaster 460DRn, 460DR VCR DVD DTV HDMI DVI to HDMI LAN USB (MDC: Multiple Display Control) PC. PC RS-232C. PC (Serial port) (Serial port) RS-232C.. > > Multiple Display

More information

歯9장.PDF

歯9장.PDF 9 Hello!! C printf() scanf() getchar() putchar() gets() puts() fopen() fclose() fprintf() fscant() fgetc() fputs() fgets() gputs() fread() fwrite() fseek() ftell() I/O 2 (stream) C (text stream) : `/n'

More information