네트워크 어플리케이션의 제작

Size: px
Start display at page:

Download "네트워크 어플리케이션의 제작"

Transcription

1 네트워크어플리케이션의제작 (Creating Network Application) 37 장에서는소켓을이용한어플리케이션제작방법에대해서알아보았다. 이번장에서는 델파이 4 에서제공되는 NetMaster 의컴포넌트들을소개하고, 이를이용하여작성할수 있는네트워크어플리케이션을소개한다. NetMaster 컴포넌트 델파이의인터넷컴포넌트는 2.01 버전의 NetManage 컴포넌트에서시작되었다. 이컴포넌트들은 TCP/IP, SMTP, POP3, Telnet, FTP 등의인터넷서비스를모두지원했지만그다지높은호응을얻지는못했는데, 그이유는델파이의 native VCL 컴포넌트가아니라액티브 X 컴포넌트였기때문이다. 즉, 액티브 X 컨트롤을같이배포하고이를등록하지않으면사용할수없는단점이있었다. 그렇기때문에많은개발자들이프리웨어로배포된 Francois Piette 등의인터넷컴포넌트를사용하였다. 델파이 4 에서는이러한문제점을시정하여완전한 native VCL 컴포넌트로변신한 NetMaster 컴포넌트들을만나볼수있다. NetMaster 컴포넌트에는단순한인터넷표준프로토콜을지원하는이외에나름대로커스터마이징이가능한원시컴포넌트를다수지원하고있기때문에수월하게네트워크프로그래밍을할수있다. 그렇지만, 아쉬운점이있다면가장흔히사용되는 HTML 컴포넌트는여전히액티브 X 컨트롤을사용한다는점이다. 그래도델파이 3 에서의 HTML 컴포넌트가버전 1.0 만지원하여무척부족했지만, 델파이 4 에서는버전 2.x 를지원하기때문에대부분의 HTML 페이지를표시할수있다. 그러면 NetMaster 컴포넌트들의종류와이들에대해개략적으로알아보도록하자. TNMFTP 컴포넌트 TNMFTP 컴포넌트는 FTP 프로토콜을이용하여 FTP 서버로파일을전송하거나, 파일을다운로드받기위해서사용된다. 이렇게 TNMFTP 컴포넌트를이용하여파일을전송하기위해서는원격지호스트와의접속이선행되어야한다. 이를위해서는먼저유효한 FTP 서버의 IP 주소를 Host 프로퍼티에설정하고, Port 프로퍼티를정확하게설정해야한다. 그리고나서, 서버에서허용하는계정의사용자 ID 와패스워드를 UserID, Password 프로퍼티에설정한다. 보통대부분의 FTP 서버는사용자 ID 로 Anonymous 와패스워드로 주소를사용할수있도록되어있다. 이런기본적인프로퍼티설정이끝나면 Connect 메소드를호출하여서버에접속한다.

2 이제서버의디렉토리리스트를얻어올차례이다. 이를위해서는 List 메소드를호출하고, OnListItem 이벤트핸들러에서넘어오는디렉토리리스트의아이템을처리해주어야한다. 디렉토리를변경하기위해서는 ChangeDir 메소드를사용한다. 원격지호스트에파일을업로드하기위해서는업로드를하기위한디렉토리에먼저위치한뒤에 Upload 메소드를호출하면된다. 이메소드에로컬컴퓨터의파일의이름과원격지허스트에위치할파일이름을파라미터로지정할수있다. 파일을다운로드할때에는먼저 List 메소드를호출하여다운로드할파일을찾을수있어야한다. 그리고나서 Download 메소드를호출하는데, 여기에서파라미터로다운로드할파일이름과로컬드라이브에저장할파일의경로아이름을지정한다. 디렉토리를원격호스트에만들기위해서는 MakeDirectory, 디렉토리를지우기위해서는 RemoveDir 메소드를이용한다. TNMHTTP 컴포넌트 TNMHTTP 컴포넌트는인터넷을통해 HTTP 전송을수행한다. URL 의특성상 URL 에호스트와포트의내용을포함하기때문에 Host 와 Port 프로퍼티는설정할필요가없다. 문서를 Get 하고자할때에는단순히 Get 메소드를호출하면된다. 이때불러올문서의 URL 을지정하면되는데, 이렇게해서불러온데이터는 InputFileMode 프로퍼티의내용에따라다르게저장된다. 이값이 True 이면문서의 body 부분은 Body 프로퍼티에지정된파일에저장되고, header 부분은 Header 프로퍼티에지정된파일에저장된다. 반면에이값이 False 이면 Body 와 Header 프로퍼티에직접저장된다. 데이터를 Post 할때에도 Post 메소드에 URL 을첫번째파라미터로지정하고, 두번째파라미터인 PostData 는 OutputFileMode 프로퍼티의값에따라결정된다. OutputFileMode 프로퍼티의값이 True 이면 PostData 파라미터에는특정위치에전달될데이터가저장된파일이지정된다. 반면이값이 False 이면전달된데이터가직접 PostData 파라미터에지정된다. 이메소드에의해전달되어오는문서를저장하는방법은 InputFileMode 에의해결정되는데, 그내용은 Get 메소드와동일하다. TNMNNTP 컴포넌트 TNMNNTP 컴포넌트는인터넷뉴스를 NNTP 프로토콜에의해인터넷뉴스서버에서읽고, 메시지를전달하기위해사용된다. TNMNNTP 컴포넌트의핵심함수를이용할때에는먼저뉴스호스트에접속해야한다. 이를위해서 Host 프로퍼티에뉴스서버의주소를설정하고, Connect 메소드를이용하여서버에접속한다. 뉴스그룹의리스트를얻기위해서는 GetGroupList 메소드를이용한다. 그리고, 기사를읽어올뉴스그룹을선택해야하는데, SetGroup 메소드에뉴스그룹의이름을파라미터로넘

3 겨서호출하면된다. 인터넷뉴스기사를읽을때에는일단그룹을선택한뒤에 GetArticle 메소드를호출하면된다. 이렇게하면 Body 프로퍼티와 Header 프로퍼티의값을이용해서선택된기사를읽을수있게된다. 새로운뉴스기사를전송하기위해서는 PostHeader, PostBody 프로퍼티에메시지의헤더와내용을채우고, PostArticle 메소드를호출하면된다. TNMPOP3 컴포넌트 TNMPOP3 컴포넌트는인터넷 을 POP3 서버로부터가져오는역할을한다. 이를위해서먼저 Host 프로퍼티를 서버의주소로설정하고, UserID 프로퍼티와 Password 프로퍼티에사용자이름과패스워드를지정하고 Connect 메소드를호출하여서버에접속해야한다. 인터넷메일을가져오기위해서는 GetMailMessage 메소드를호출하면된다. 메일의 body 의파트는 MailMessage 프로퍼티에저장된다. TNMSMTP 컴포넌트 TNMSMTP 컴포넌트는 SMTP 프로토콜을이용하여인터넷메일서버에메일을전송하는역할을한다. 다른컴포넌트와마찬가지로 Host 와 Post 프로퍼티를설정하고. Connect 메소드를호출하여메일서버와접속하고, Disconnect 메소드를호출하여접속을중단한다. 메일을보내기위해서는 PostMessage 프로퍼티에전송할데이터를지정하고, SendMail 메소드를호출하면된다. 경우에따라서는사용자가연결된호스트에있는지찾아볼필요가있는데이럴때에는 Verify 메소드를이용한다. 그리고, 메일링리스트의멤버는 ExpandList 메소드를이용하여결정하는데, OnMailListReturn 이벤트핸들러를작성한다. TNMFinger TNMFinger 컴포넌트는인터넷 Finger 서버로부터사용자에대한정보를얻을때사용된다. 먼저 Finger 서버에접속해야하므로, Host 프로퍼티에서버의주소를지정하고 Port 프로퍼티는거의대부분 79 번을사용하므로변경할필요가없다. 사용자에대한정보는 FingerStr 프로퍼티에서얻을수있다. TNMUDP TNMUDP 컴포넌트는 UDP 프로토콜을이용하여데이터그램패킷을전송하는데사용한다. 이컴포넌트역시마찬가지로패킷을전송하기전에원격호스트와포트를알아서

4 RemoteHost 와 RemotePort 프로퍼티에값을대입해야한다. 실제로데이터를전송하기위해서는 SendBuffer 또는 SendStream 메소드를이용하는데 SendBuffer 메소드는원격호스트에문자의배열형태로데이터를전송하며, SendStream 메소드는데이터의스트림을전달한다. UDP 데이터를받을때에는 LocalPort 프로퍼티를반드시설정해야한다. 이프로퍼티는반드시디자인타임에서설정해야하며, 런타임에서변경할수없다. 읽어올 UDP 데이터가있으면 OnDataAvailable 이벤트가호출되며이이벤트에서 ReadBuffer 메소드를이용하여데이터를버퍼로읽어들이거나 ReadStream 메소드를이용하여스트림으로데이터를읽는다. TNMDayTime TNMDayTime 컴포넌트는인터넷 daytime 서버로부터 RFC 867 에정의된날짜와시간에대한정보를불러온다. 사용방법은 Host 프로퍼티에서버의주소를지정하고, 호스트에접속하기만하면 DayTimeStr 프로퍼티에지정된호스트의날짜와시간이전송되어저장되므로이를이용하기만하면된다. TNMTime TNMTime 컴포넌트는인터넷 time 서버에서 RFC 868 에정의된날짜와시간에대한정보를불러온다. 사용방법은 Host 프로퍼티에서버의주소를지정하고, 호스트에접속하기만하면 TimeStr 프로퍼티에지정된호스트의날짜와시간이전송되어저장되므로이를이용하기만하면된다. TNMEcho TNMEcho 컴포넌트는텍스트를인터넷에코서버에전송하고, 이내용을다시받을때사용되는데, RFC 862 에정의된프로토콜을사용한다. 이를이용해서네트워크의무결성과속도를측정한다. 서버와의접속을위해 Host 프로퍼티와 Port 프로퍼티를설정하는데, 보통에코서버는 7 번포트를이용한다. 텍스트를전송할때에는 Echo 메소드를이용한다. TNMUUProcessor TNMUUProcessor 컴포넌트는인터넷을통해전송되는파일을인코딩하고디코딩할때사 용된다. 사용방법은 InputFile 프로퍼티를처리할파일로설정하고, Method 프로퍼티에서

5 인코딩, 디코딩할방법을지정하고, OutputFile 프로퍼티에결과로생성될파일을지정한다. 그리고실제로실행을위해서 Encode, Decode 메소드를호출하면된다. 사용하는인코딩메소드로는 MIME/Base 64 를지원하는 uumime 과 UUEncoding/ Decoding 을지원하는 uucode 를사용할수있다. 이컴포넌트를사용하는예제를다음장에서볼수있을것이다. TNMURL TNMURL 컴포넌트는 HTTP 전송에대한문자열과 URL 포맷사이를인코드, 디코드할때사용된다. 사용방법은 InputString 프로퍼티에문자열이나 URL 포맷의값을설정하면 Encode 프로퍼티에 URL 포맷으로인코드된문자열을포함하게되고, Decode 프로퍼티에는디코딩된문자열이포함된다. 이때에러가발생하면 OnError 이벤트가호출된다. TNMMsg TNMMsg 컴포넌트는간단메시지를전송하기위해서사용하는데, TNMMsgServ 컴포넌트와함께사용하여야한다. 메시지를전송하기전에 Host 프로퍼티와 Port 프로퍼티에해당되는메시지서버의 IP 주소와포트를설정하고, FromName 프로퍼티에서메시지를전송한사람에대한정보를설정하고, PostIt 메소드를호출하면메시지가전송된다. TNMMsgServ TNMMsgServ 컴포넌트는 TNMMsg 컴포넌트에서전송된메시지를받는역할을한다. 어플리케이션을디자인할때 Port 프로퍼티에는메시지서버가사용할포트를지정하는데, 디폴트값을사용해도무방하다. 메시지서버에전송된메시지를받아서처리하기위해서는 OnMsg 이벤트핸들러를작성하면된다, TNMStrm TNMStrm 컴포넌트는스트림을스트림서버에전송하기위해서 TNMStrmServ 컴포넌트와함께사용된다. 먼저 Host 와 Port 프로퍼티를서버에맞도록설정하고, FromName 프로퍼티에스트림을전송하는사람의정보를지정하고, PostIt 메소드를이용하여스트림을전송하면된다. TNMStrmServ

6 TNMStrmServ 컴포넌트는 TNMStrm 컴포넌트에서전송하는스트림을처리하는역할을한다. TNMMsgServ 컴포넌트와마찬가지로 Port 프로퍼티를설정하고, OnMsg 이벤트에서전송된스트림을처리하면된다. TPowersock TPowersock 컴포넌트는 TCP 통신을이용하여다양한인터넷프로토콜을이용할수있도록제공하는기초클래스이다. 그러므로이컴포넌트는상속을받아서새로이구성해야하는것으로, Connect 메소드를호출하면 Host 와 Port 프로퍼티에지정한원격호스트의서비스에접속하게된다. 원격호스트에서받아온데이터는 Read, ReadLn, CaptureFile, CaptureStream, CaptureString 메소드를이용하여읽을수있다. 그리고, 데이터를원격호스트에전송할때에는 Write, WriteLn, SendFile, SendStream 메소드를이용한다. 그리고, Transaction 메소드는원격호스트에데이터를전송하고서버로부터응답을받는다. TNMGeneralServ TNMGeneralServer 컴포넌트는다중쓰레드를지원하는인터넷서버를개발할때 RFC 표준을지원하는서버나사용자정의서버를개발할때사용되는기초클래스이다. TNMGeneralServer 클래스를상속하는서버클래스를제작하기위해서는 Server 메소드를오버라이드해야하는데, 여기에서서버가클라이언트연결에어떻게반응할것인지를결정한다. 클라이언트와의상호작용은 TPowersock 의 read, write 메소드를이용한다. 주의할점은 Port 프로퍼티를디자인타임에서설정해야한다는것이다. 메일클라이언트어플리케이션의제작 그러면, 표준인터넷프로토콜을지원하는컴포넌트중에서 POP3 와 SMTP 프로토콜을이용한메일클라이언트를제작해보도록하자. 먼저폼을디자인해야하는데, 나름대로성의를가지고여러개의패널객체와 Align 프로퍼티를적절히설정해서깔끔한인터페이스를구성해보도록하자. POP3 와 SMTP 클라이언트를하나의폼으로구성하되, 메일을받는인터페이스와보내는인터페이스는 TPageControl 컴포넌트를이용하여다른페이지로구성한다. 메일을보낼때에는파일을 Attach 하여보낼수있도록 TOpenDialog 컴포넌트를추가한다. 그리고, 실제프로토콜을관리하는 TNMPOP3, TNMSMTP 컴포넌트를폼에추가하도록하자. 필자가구성한폼의디자인은다음과같다. 이와비슷하게필요한형태로폼을디자인하면될것이다.

7 접속 버튼을클릭하면 POP3 와 SMTP 라벨옆에있는에디트박스의내용을바탕으로서버에접속한다. POP3 의경우에는사용자 ID 와패스워드를이용하여메일서버에접속하는과정이필요하다. 이때패스워드는입력할때입력하는문자가보이지않거나, 특수문자로처리하는데대개의경우 * 문자를이용한다. 이럴때에는 TMaskEdit 컴포넌트를이용하는것이좋다. MaskEdit1 객체의 PasswordChar 프로퍼티를 * 로설정한다. 이버튼의 OnClick 이벤트핸들러를다음과같이작성하여, 메일서버에접속하도록한다. procedure TForm1.Button1Click(Sender: TObject); NMPOP31.AttachFilePath := '.'; NMPOP31.DeleteOnRead := FALSE; NMPOP31.ReportLevel := Status_Basic; NMPOP31.TimeOut := 20000; NMPOP31.Host := Edit1.Text; NMPOP31.UserID := Edit3.Text; NMPOP31.Password := MaskEdit1.Text; NMPOP31.Connect; NMSMTP1.TimeOut := 20000; NMSMTP1.ReportLevel := Status_Basic; NMSMTP1.Host := Edit2.Text;

8 NMSMTP1.UserID := Edit5.Text; NMSMTP1.Connect; 접속을하기위해서는 TNMPOP3, TNMSMTP1 컴포넌트모두 Connect 메소드를호출하면된다. 이때 Host 프로퍼티에메일서버에 IP 주소를대입하고, TimeOut 프로퍼티는접속을시도할시간을 msec 단위로설정한다. ReportLevel 프로퍼티는 OnStatus 이벤트에서상태메시지를어떻게표시할것인지를결정하는프로퍼티인데보통은 Status_Basic 으로설정한다. POP3 컴포넌트에서의 DeleteOnRead 프로퍼티는메시지를읽을경우에메일서버에서읽은메시지를제거할것인지여부를결정한다. 이값을 True 로할경우에는메시지를클라이언트로다운로드하면서버에서메시지가삭제되며, False 로설정할경우에는메일클라이언트에서읽더라도서버에메시지가그대로남게된다. 이경우에는메시지를직접삭제할수있도록해야한다. 마찬가지로 접속해제 버튼을클릭하면 Disconnect 메소드를호출하면된다. procedure TForm1.Button2Click(Sender: TObject); NMPOP31.Disconnect; NMSMTP1.Disconnect; POP3 페이지에서 List 버튼을클릭하면 POP3 메일서버에도착한메시지를나열하게되는데, 이렇게나열되는메시지는 OnList 이벤트핸들러에서처리할수있다. Clear 버튼을클릭하면메모컴포넌트의내용을지우도록한다. procedure TForm1.Button3Click(Sender: TObject); NMPOP31.List; procedure TForm1.Button4Click(Sender: TObject); Memo3.Lines.Clear; OnList 이벤트핸들러는다음과같이작성하여, 전달된메시지의번호와크기를메모컴포

9 넌트에나열하도록한다. procedure TForm1.NMPOP31List(Msg, Size: Integer); Memo3.Lines.Add(IntToStr(Msg) + ' / ' + IntToStr(Size)); 이렇게메모컴포넌트에나열된메일서버의메시지중에서읽어올메시지번호를에디트박스에지정하고, Get Message 버튼을클릭하면해당되는메시지를읽어와서 header 는우측의위쪽메모컴포넌트에, body 는아래쪽메모컴포넌트에표시한다. GetMessage 버튼의 OnClick 이벤트핸들러는다음과같이작성한다. procedure TForm1.Button5Click(Sender: TObject); NMPOP31.GetMailMessage(StrToInt(Edit4.Text)); Memo1.Lines.Assign(NMPOP31.MailMessage.Head); Memo2.Lines.Assign(NMPOP31.MailMessage.Body); if NMPOP31.MailMessage.Attachments.Text <> '' then ShowMessage('Attachments: ' + #10#13 + NMPOP31.MailMessage.Attachments.Text); 즉, 메시지를읽어올때에는 GetMailMessage 메소드에서파라미터에넘겨진번호의메시지를읽어오게된다. 이렇게읽어온메시지는 MailMessage 프로퍼티에저장되는데, 각각 header 와 body 부분으로나눌수있다. 이들은모두 TStrings 데이터형이기때문에메모컴포넌트에직접대입할수있다. MailMessage 의 Attachment 프로퍼티에는 attach 된파일을나타내는데, 파일의이름을 Text 프로퍼티를이용하여얻을수있다. 이것으로버튼의이벤트핸들러는모두작성하였다. 이제는 TNMPOP3 컴포넌트의이벤트핸들러를작성하도록하자. 대개의경우 TStatusBar 컴포넌트에메일이전달되는상황에대한정보를표시하는정도로작성한다. procedure TForm1.NMPOP31Connect(Sender: TObject); StatusBar1.SimpleText := 'POP3 Server Connected!'; procedure TForm1.NMPOP31Disconnect(Sender: TObject);

10 if StatusBar1 <> nil then StatusBar1.SimpleText := 'POP3 Server Disconnected!'; procedure TForm1.NMPOP31Status(Sender: TComponent; Status: String); if StatusBar1 <> nil then StatusBar1.SimpleText := 'POP3: ' + Status; procedure TForm1.NMPOP31ConnectionFailed(Sender: TObject); ShowMessage('POP3 Server Connection Failed'); procedure TForm1.NMPOP31Failure(Sender: TObject); ShowMessage(' 작업이실패했습니다.'); procedure TForm1.NMPOP31HostResolved(Sender: TComponent); StatusBar1.SimpleText := 'POP3 Host Resolved'; procedure TForm1.NMPOP31Success(Sender: TObject); StatusBar1.SimpleText := 'POP3 Operation Successful!'; procedure TForm1.NMPOP31PacketRecvd(Sender: TObject); StatusBar1.SimpleText := IntToStr(NMPOP31.BytesRecvd) + ' Bytes of ' + IntToStr(NMPOP31.BytesTotal) + ' Received';

11 procedure TForm1.NMPOP31RetrieveStart(Sender: TObject); Form1.Cursor := crhourglass; StatusBar1.SimpleText := 'Retrieval Start'; procedure TForm1.NMPOP31RetrieveEnd(Sender: TObject); Form1.Cursor := crdefault; StatusBar1.SimpleText := 'Retrieval End'; 이것으로 POP3 에대한부분은모두완성되었다. 이번에는 SMTP 클라이언트기능을추가할차례이다. 인터페이스디자인은다음과같다. SMTP 클라이언트에서는 Add, Remove 버튼을클릭하여 attach 될파일을파일열기대 화상자를이용하여리스트박스에추가하도록 Add, Remove 버튼의 OnClick 이벤트핸 들러를다음과같이작성한다. procedure TForm1.Button6Click(Sender: TObject);

12 If OpenDialog1.Execute then ListBox1.Items.Add(OpenDialog1.FileName); procedure TForm1.Button7Click(Sender: TObject); ListBox1.Items.Delete(ListBox1.ItemIndex); 이어서 Send 버튼을클릭하면이들과함께메모컴포넌트의내용을 To, CC, BCC 로지정 된주소에전송한다. 이때보내는사람에대한정보를인터넷메일주소와실제이름과함 께전송한다. Send 버튼의 OnClick 이벤트핸들러는다음과같이작성한다. procedure TForm1.Button8Click(Sender: TObject); NMSMTP1.PostMessage.FromAddress := Edit7.Text; NMSMTP1.PostMessage.FromName := Edit6.Text; NMSMTP1.PostMessage.Subject := Edit11.Text; NMSMTP1.PostMessage.ToAddress.Add(Edit8.Text); NMSMTP1.PostMessage.ToBlindCarbonCopy.Add(Edit10.Text); NMSMTP1.PostMessage.ToCarbonCopy.Add(Edit9.Text); NMSMTP1.PostMessage.Attachments.AddStrings(Listbox1.Items); NMSMTP1.PostMessage.Body.Assign(Memo4.Lines); NMSMTP1.SendMail; POP3 와마찬가지로 SMTP 컴포넌트에서도여러가지이벤트에대한상황을표시할수있 도록다음과같이이벤트핸들러들을작성한다. procedure TForm1.NMSMTP1Connect(Sender: TObject); StatusBar1.SimpleText := 'SMTP Server Connected!'; procedure TForm1.NMSMTP1Disconnect(Sender: TObject);

13 If StatusBar1 <> nil then StatusBar1.SimpleText := 'SMTP Server Disconnected'; procedure TForm1.NMSMTP1Status(Sender: TComponent; Status: String); if StatusBar1 <> nil then StatusBar1.SimpleText := 'SMTP: ' + Status; procedure TForm1.NMSMTP1EncodeStart(Filename: String); StatusBar1.SimpleText := 'Encoding ' + Filename; procedure TForm1.NMSMTP1EncodeEnd(Filename: String); StatusBar1.SimpleText := 'Finished Encoding ' + Filename; procedure TForm1.NMSMTP1ConnectionFailed(Sender: TObject); ShowMessage('SMTP Server Connection Failed'); procedure TForm1.NMSMTP1Failure(Sender: TObject); StatusBar1.SimpleText := 'SMTP Operation Failed'; procedure TForm1.NMSMTP1HostResolved(Sender: TComponent); StatusBar1.SimpleText := 'SMTP Host Resolved';

14 procedure TForm1.NMSMTP1PacketSent(Sender: TObject); StatusBar1.SimpleText := IntToStr(NMSMTP1.BytesSent) + ' Bytes of ' + IntToStr(NMSMTP1.BytesTotal) + ' Sent'; procedure TForm1.NMSMTP1RecipientNotFound(Recipient: String); ShowMessage('Recipient "' + Recipient + '" not found!'); procedure TForm1.NMSMTP1SendStart(Sender: TObject); StatusBar1.SimpleText := 'Sending Message...'; procedure TForm1.NMSMTP1Success(Sender: TObject); StatusBar1.SimpleText := 'Operation Successful!'; 이것으로그럴듯한인터넷메일클라이언트가작성되었다. 다음그림들은필자가메일클 라이언트를사용하여메일을받고, 메시지를작성하여하이텔의필자 ID 로전송한뒤에이 를하이텔에접속하여메일이도착했는지확인하는그림이다.

15

16 메시지클라이언트 / 서버어플리케이션의제작 이번에는 NetMaster 의메시지클라이언트와서버컴포넌트를이용하여간단한메시지를주고받을수있는메시지클라이언트 / 서버어플리케이션을만들어보자. 컴포넌트의사용방법을익히고자하는것이목적이므로 1:1 채팅어플리케이션과마찬가지로하나의어플리케이션이서버이면서동시에클라이언트역할을하도록만들도록한다. 먼저폼에패널을하나얹고패널위에메시지서버의 IP 주소를지정할에디트박스와보내는사람의이름을설정할에디트박스, 그리고실제메시지를입력할에디트박스를추가한다. 그리고, 메모컴포넌트를폼에추가하여전달되는메시지를표시하도록한다. 그리고다음과같이 TStatusBar 컴포넌트를추가하여인터넷메일클라이언트에서와마찬가지로메시지컴포넌트의상태를표시할수있도록한다. 소켓프로그래밍을이용한채팅프로그램보다사용방법은더간단하다. 다음과같이서버의 IP 주소와보내는사람의이름을각각 Host, FromName 프로퍼티에지정하고, 보내는메시지내용을 PostIt 메소드를이용하여전송하는것으로끝이다.

17 procedure TForm1.Edit3KeyPress(Sender: TObject; var Key: Char); if Key = #13 then NMMsg1.Host := Edit1.Text; NMMsg1.FromName := Edit2.Text; NMMsg1.PostIt(Edit3.Text); 이제는메시지서버컴포넌트와메시지컴포넌트의각이벤트를처리하기만하면된다. 먼 저메시지서버컴포넌트의 OnClientContact 이벤트는클라이언트가접속했을때발생하게 된다. procedure TForm1.NMMSGServ1ClientContact(Sender: TObject); NMMsgServ1.ReportLevel := Status_Basic; NMMsgServ1.TimeOut := 90000; StatusBar1.SimpleText := 'Client connected'; 그리고, 전송된메시지는메시지서버컴포넌트의 OnMSG 이벤트에서처리할수있다. procedure TForm1.NMMSGServ1MSG(Sender: TComponent; const sfrom, smsg: String); Memo1.Lines.Add('(' + sfrom + ') ' + smsg); 메시지서버컴포넌트의상태에대한정보는 OnStatus 이벤트핸들러에서처리한다. procedure TForm1.NMMSGServ1Status(Sender: TComponent; Status: String); if StatusBar1 <> nil then StatusBar1.SimpleText := Status;

18 그다음에는메시지클라이언트컴포넌트의이벤트를처리해야하는데, 이들의처리방법은 앞서설명한인터넷메일컴포넌트들과큰차이가없으므로자세한설명은생략하도록하 겠다. procedure TForm1.NMMsg1Connect(Sender: TObject); StatusBar1.SimpleText := 'Connected'; procedure TForm1.NMMsg1ConnectionFailed(Sender: TObject); ShowMessage('Connection Failed'); procedure TForm1.NMMsg1Disconnect(Sender: TObject); if StatusBar1 <> nil then StatusBar1.SimpleText := 'Disconnected'; procedure TForm1.NMMsg1HostResolved(Sender: TComponent); StatusBar1.SimpleText := 'Host Resolved'; procedure TForm1.NMMsg1MessageSent(Sender: TObject); ShowMessage('Message sent!'); procedure TForm1.NMMsg1Status(Sender: TComponent; Status: String); if StatusBar1 <> nil then StatusBar1.SimpleText := Status;

19 이제이프로그램을컴파일하고실행한뒤에 1:1 채팅을하듯이사용해보자. 같이무리없이잘동작할것이다. 다음그림과 스트림클라이언트 / 서버어플리케이션의제작 이번에는스트림서버와클라이언트컴포넌트를이용하여파일을전송하고, 이파일의내용을볼수있는어플리케이션을만들어보자. 먼저서버의 IP 주소를지정할수있는에디트박스와버튼 2 개와 TStatusBar 컴포넌트, 그리고 TOleContainer 컴포넌트와 TOpenDialog, 스트림클라이언트와서버컴포넌트를각각하나씩다음과같이폼에추가하도록한다. Send 버튼을클릭하면파일열기대화상자에서지정한파일을전송하며, Load 버튼을클

20 릭하면이파일을 OLE 컨테이너에서볼수있도록해준다. 먼저 Send 버튼의 OnClick 이벤트핸들러를다음과같이작성한다. procedure TForm1.Button1Click(Sender: TObject); var MyFStream: TFileStream; If OpenDialog1.Execute then NMStrm1.Host := Edit1.Text; NMStrm1.FromName := ExtractFileName(OpenDialog1.FileName); MyFStream := TFileStream.Create(OpenDialog1.FileName, fmopenread); try NMStrm1.PostIt(MyFStream); finally MyFStream.Free; 사용방법은 Host 프로퍼티에접속할서버의 IP 주소를대입하고, 지정된파일스트림을 PostIt 메소드를이용하여서버로전송한다. 참고로 FromName 프로퍼티에파일이름을지정하면파일의확장자를알수있으므로이를활용한다. 즉, 스트림에대한정보를 FromName 프로퍼티를이용하여문자열로전송하는것이다. 이렇게전송된파일스트림은스트림서버컴포넌트의 OnMSG 이벤트에서받아볼수있는데, 이이벤트핸들러에서임시파일로저장할수있도록한다. 스트림서버컴포넌트의 OnMSG 이벤트핸들러를다음과같이작성한다. procedure TForm1.NMStrmServ1MSG(Sender: TComponent; const sfrom: String; strm: TStream); var MyFStream: TFileStream; Extension := ExtractFileExt(sFrom); if FileExists(ExtractFilePath(ParamStr(0)) + '\tmp' + Extension) then DeleteFile(ExtractFilePath(ParamStr(0)) + '\tmp' + Extension);

21 MyFStream := TFileStream.Create( ExtractFilePath(ParamStr(0)) + '\tmp' + Extension, fmcreate); try MyFStream.CopyFrom(strm, strm.size); finally MyFStream.Free; 이이벤트핸들러에서파일이름이 tmp 이고파일확장자는앞서스트림클라이언트컴포넌트에서 FromName 프로퍼티에지정한문자열이 sfrom 파라미터로넘어오므로, 이값을이용하여확장자를지정할수있다. 여기서는디렉토리를현재어플리케이션이실행되고있는디렉토리에저장하도록하였다. 이렇게저장된파일을 OLE 컨테이너에서보여주는역할을하는, Load 버튼은비교적구현하기쉽다. 파일이름이 tmp 이고, 지정된확장자를가진파일을 CreateObjectFromFile 메소드를이용해서 OLE 컨테이너에보여준다. procedure TForm1.Button2Click(Sender: TObject); if FileExists(ExtractFilePath(ParamStr(0)) + '\tmp' + Extension) then OleContainer1.CreateObjectFromFile(ExtractFilePath(ParamStr(0)) + '\tmp' + Extension, False); 그리고, 폼의 OnClose 이벤트핸들러에서이렇게생성된임시파일을삭제하도록한다. procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); if FileExists(ExtractFilePath(ParamStr(0)) + '\tmp' + Extension) then DeleteFile(ExtractFilePath(ParamStr(0)) + '\tmp' + Extension); 스트림컴포넌트의다른이벤트핸들러는메시지클라이언트 / 서버와마찬가지로상태정보를보여주는역할을한다. 각각의이벤트핸들러는다음과같이구현하며, 그다지어려운내용이아니므로자세한설명은생략하도록하겠다.

22 procedure TForm1.NMStrm1Connect(Sender: TObject); StatusBar1.SimpleText := 'Connected'; procedure TForm1.NMStrm1Disconnect(Sender: TObject); if StatusBar1 <> nil then StatusBar1.SimpleText := 'Disconnected'; procedure TForm1.NMStrm1HostResolved(Sender: TComponent); StatusBar1.SimpleText := 'Host Resolved'; procedure TForm1.NMStrm1Status(Sender: TComponent; Status: String); if StatusBar1 <> nil then StatusBar1.SimpleText := Status; procedure TForm1.NMStrmServ1ClientContact(Sender: TObject); NMStrmServ1.ReportLevel := Status_Basic; NMStrmServ1.TimeOut := 90000; StatusBar1.SimpleText := 'Client connected'; procedure TForm1.NMStrmServ1Status(Sender: TComponent; Status: String); if StatusBar1 <> nil then StatusBar1.SimpleText := Status;

23 procedure TForm1.NMStrm1ConnectionFailed(Sender: TObject); ShowMessage('Connection Failed'); procedure TForm1.NMStrm1MessageSent(Sender: TObject); ShowMessage('Stream Sent'); procedure TForm1.NMStrm1PacketSent(Sender: TObject); StatusBar1.SimpleText := IntToStr(NMStrm1.BytesSent) + ' of ' + IntToStr(NMStrm1.BytesTotal) + ' Sent'; 이것으로스트림서버 / 클라이언트어플리케이션이완성되었다. 프로그램을컴파일하고실행한뒤에 Send 버튼을클릭하여파일을지정하면, 서버로파일스트림이전송될것이다. 다음그림은이책의 1 장에해당되는워드파일을보여주는것이다. 정리 (Summary) 델파이는 2.01 버전부터지원하던액티브 X 컨트롤형태의인터넷컴포넌트를버리고, 델파

24 이 4 부터는 native VCL 형태의뛰어난컴포넌트를제공하여지금까지의많은불평들을해소시켜주었다. 또한 TPowersock, TGeneralServer 와같은컴포넌트를이용하면 RFC 에서제정하는새로운프로토콜을지원하는컴포넌트를직접만들거나, 프로토콜부터새로만들어서사용할수도있다. 그렇지만, 중요한것은이러한과정을제대로이해하기위해서는윈속 API 를이용한실제구현방법에대해서알아야할것이다. NetMaster 컴포넌트에대해서아쉬운것은델파이 4 에번들되어있지만, 소스코드는공개되지않았다는점이다. 이런측면에서 Francois Piette 의 ICS 컴포넌트 suite 를추천하고싶다. 이컴포넌트는델파이수퍼페이지나델파이델리와같은사이트에서쉽게구할수있다.

PowerPoint Template

PowerPoint Template JavaScript 회원정보 입력양식만들기 HTML & JavaScript Contents 1. Form 객체 2. 일반적인입력양식 3. 선택입력양식 4. 회원정보입력양식만들기 2 Form 객체 Form 객체 입력양식의틀이되는 태그에접근할수있도록지원 Document 객체의하위에위치 속성들은모두 태그의속성들의정보에관련된것

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

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

<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

이것이 델파이 4

이것이 델파이 4 이것이델파이 4! (This Is Delphi 4!) 델파이 4 는현재사용할수있는가장유연하면서도강력한개발도구이다. 델파이 4 는비주얼인터페이스디자인과강력한객체지향언어로서의특징을가지고있는오브젝트파스칼언어를통합하고있다. 개발자는이를이용하여빠르면서도직관적이고, 견고한 Win32 어플리케이션을쉽게개발할수있다. 이번장에서는델파이 4 에서새롭게선보이는여러가지기능과특징들을소개한다.

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

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc NTAS and FRAME BUILDER Install Guide NTAS and FRAME BUILDER Version 2.5 Copyright 2003 Ari System, Inc. All Rights reserved. NTAS and FRAME BUILDER are trademarks or registered trademarks of Ari System,

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

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

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

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

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D313939392D382E687770>

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

More information

Secure Programming Lecture1 : Introduction

Secure Programming Lecture1 : Introduction Malware and Vulnerability Analysis Lecture4-1 Vulnerability Analysis #4-1 Agenda 웹취약점점검 웹사이트취약점점검 HTTP and Web Vulnerability HTTP Protocol 웹브라우저와웹서버사이에하이퍼텍스트 (Hyper Text) 문서송수신하는데사용하는프로토콜 Default Port

More information

Visual Basic 반복문

Visual Basic 반복문 학습목표 반복문 For Next문, For Each Next문 Do Loop문, While End While문 구구단작성기로익히는반복문 2 5.1 반복문 5.2 구구단작성기로익히는반복문 3 반복문 주어진조건이만족하는동안또는주어진조건이만족할때까지일정구간의실행문을반복하기위해사용 For Next For Each Next Do Loop While Wend 4 For

More information

< 목차 > Ⅰ. 개요 3 Ⅱ. 실시간스팸차단리스트 (RBL) ( 간편설정 ) 4 1. 메일서버 (Exchange Server 2007) 설정변경 4 2. 스팸차단테스트 10

< 목차 > Ⅰ. 개요 3 Ⅱ. 실시간스팸차단리스트 (RBL) ( 간편설정 ) 4 1. 메일서버 (Exchange Server 2007) 설정변경 4 2. 스팸차단테스트 10 (https://www.kisarbl.or.kr) < 목차 > Ⅰ. 개요 3 Ⅱ. 실시간스팸차단리스트 (RBL) ( 간편설정 ) 4 1. 메일서버 (Exchange Server 2007) 설정변경 4 2. 스팸차단테스트 10 Ⅰ. 개요 실시간스팸차단리스트 (RBL) 는메일서버를운영하는누구나손쉽게효과적으로스팸수신을차단하는데이용할수있도록한국인터넷진흥원 (KISA)

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

보안과 암호화 기법

보안과 암호화 기법 보안과암호화기법 (Security and Cryptograph Techniques) 대부분의클라이언트 / 서버어플리케이션에서는 ID 와패스워드를묻는최소한의보안을하고있다. 그렇지만, 데이터암호화등의다소높은수준의보안이요구되는경우도많다. 이러한주제를가지고정말로많은양의문서와책들이쓰여져왔고, 그리고많은연구도진행중이다. 그렇지만, 여기에서다루고자하는것은그렇게이론적이고어려운암호화기법에대한것이아니다.

More information

API - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어

API - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어서가장중요한부분이라고도할수있기때문입니다. 1. 새로운메크로생성 새메크로만들기버튺을클릭하여파일을생성합니다. 2. 메크로저장 -

More information

0. 들어가기 전

0. 들어가기 전 컴퓨터네트워크 14 장. 웹 (WWW) (3) - HTTP 1 이번시간의학습목표 HTTP 의요청 / 응답메시지의구조와동작원리이해 2 요청과응답 (1) HTTP (HyperText Transfer Protocol) 웹브라우저는 URL 을이용원하는자원표현 HTTP 메소드 (method) 를이용하여데이터를요청 (GET) 하거나, 회신 (POST) 요청과응답 요청

More information

게시판 스팸 실시간 차단 시스템

게시판 스팸 실시간 차단 시스템 오픈 API 2014. 11-1 - 목 차 1. 스팸지수측정요청프로토콜 3 1.1 스팸지수측정요청프로토콜개요 3 1.2 스팸지수측정요청방법 3 2. 게시판스팸차단도구오픈 API 활용 5 2.1 PHP 5 2.1.1 차단도구오픈 API 적용방법 5 2.1.2 차단도구오픈 API 스팸지수측정요청 5 2.1.3 차단도구오픈 API 스팸지수측정결과값 5 2.2 JSP

More information

2009년 상반기 사업계획

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

More information

. 스레드 (Thread) 란? 스레드를설명하기전에이글에서언급되는용어들에대하여알아보도록하겠습니다. - 응용프로그램 ( Application ) 사용자에게특정서비스를제공할목적으로구현된응용프로그램을말합니다. - 컴포넌트 ( component ) 어플리케이션을구성하는기능별요

. 스레드 (Thread) 란? 스레드를설명하기전에이글에서언급되는용어들에대하여알아보도록하겠습니다. - 응용프로그램 ( Application ) 사용자에게특정서비스를제공할목적으로구현된응용프로그램을말합니다. - 컴포넌트 ( component ) 어플리케이션을구성하는기능별요 . 스레드 (Thread) 란? 스레드를설명하기전에이글에서언급되는용어들에대하여알아보도록하겠습니다. - 응용프로그램 ( Application ) 사용자에게특정서비스를제공할목적으로구현된응용프로그램을말합니다. - 컴포넌트 ( component ) 어플리케이션을구성하는기능별요소로써안드로이드시스템에서는 Activities, Services, Content Providers,

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

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론 이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론 2. 관련연구 2.1 MQTT 프로토콜 Fig. 1. Topic-based Publish/Subscribe Communication Model. Table 1. Delivery and Guarantee by MQTT QoS Level 2.1 MQTT-SN 프로토콜 Fig. 2. MQTT-SN

More information

소켓 프로그래밍 기법의 활용 (Using Socket Programming Techniques)

소켓 프로그래밍 기법의 활용 (Using Socket Programming Techniques) 소켓프로그래밍기법의활용 (Using Socket Programming Techniques) 윈도우에서의프로세스간통신기법으로는명명된파이프, DCOM, DDE, 클립보드와각종네트워크프로그래밍기법등을이용할수있다. 이중에서도윈도우 95 와윈도우 NT 3.5 버전부터는내부적인통신프로토콜로기존의 NetBIEU 와함께 TCP/IP 를사실상의표준으로인정하고이를지원하고있다.

More information

PowerPoint 프레젠테이션

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

More information

<4D F736F F F696E74202D20C1A63139C0E520B9E8C4A120B0FCB8AEC0DA28B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C1A63139C0E520B9E8C4A120B0FCB8AEC0DA28B0ADC0C729205BC8A3C8AF20B8F0B5E55D> Power Java 제 19 장배치관리자 이번장에서학습할내용 배치관리자의개요 배치관리자의사용 FlowLayout BorderLayout GridLayout BoxLayout CardLayout 절대위치로배치 컨테이너안에서컴포넌트를배치하는방법에대하여살펴봅시다. 배치관리자 (layout manager) 컨테이너안의각컴포넌트의위치와크기를결정하는작업 [3/70] 상당히다르게보인다.

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 Power Java 제 20 장패키지 이번장에서학습할내용 패키지의개념 패키지로묶는방법 패키지사용 기본패키지 유틸리티패키지 패키지는연관된클래스들을묶는기법입니다. 패키지란? 패키지 (package) : 클래스들을묶은것 자바라이브러리도패키지로구성 ( 예 ) java.net 패키지 네트워크관련라이브러리 그림 20-1. 패키지의개념 예제 패키지생성하기 Q: 만약패키지문을사용하지않은경우에는어떻게되는가?

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

메일서버등록제(SPF) 인증기능적용안내서 (Exchange Windows 2003) OS Mail Server SPF 적용모듈 작성기준 Windows Server 2003 Exchange Server 2003 GFI MailEssentials 2010 fo

메일서버등록제(SPF) 인증기능적용안내서 (Exchange Windows 2003) OS Mail Server SPF 적용모듈 작성기준 Windows Server 2003 Exchange Server 2003 GFI MailEssentials 2010 fo 메일서버등록제(SPF) 인증기능적용안내서 (Exchange 2003 - Windows 2003) OS Mail Server SPF 적용모듈 작성기준 Windows Server 2003 Exchange Server 2003 GFI MailEssentials 2010 for Exchange 2016 년 6 월 - 1 - 목 차 I. 개요 1 1. SPF( 메일서버등록제)

More information

HLS(HTTP Live Streaming) 이용가이드 1. HLS 소개 Apple iphone, ipad, ipod의운영체제인 ios에서사용하는표준 HTTP 기반스트리밍프로토콜입니다. 2. HLS 지원대상 - 디바이스 : iphone/ipad/ipod - 운영체제 :

HLS(HTTP Live Streaming) 이용가이드 1. HLS 소개 Apple iphone, ipad, ipod의운영체제인 ios에서사용하는표준 HTTP 기반스트리밍프로토콜입니다. 2. HLS 지원대상 - 디바이스 : iphone/ipad/ipod - 운영체제 : HLS(HTTP Live Streaming) 이용가이드 1. HLS 소개 Apple iphone, ipad, ipod의운영체제인 ios에서사용하는표준 HTTP 기반스트리밍프로토콜입니다. 2. HLS 지원대상 - 디바이스 : iphone/ipad/ipod - 운영체제 : ios 3.0 이상 - 콘텐츠형식 : MP4 (H264,AAC ), MP3 * 디바이스별해상도,

More information

[ 그림 8-1] XML 을이용한옵션메뉴설정방법 <menu> <item 항목ID" android:title=" 항목제목 "/> </menu> public boolean oncreateoptionsmenu(menu menu) { getme

[ 그림 8-1] XML 을이용한옵션메뉴설정방법 <menu> <item 항목ID android:title= 항목제목 /> </menu> public boolean oncreateoptionsmenu(menu menu) { getme 8 차시메뉴와대화상자 1 학습목표 안드로이드에서메뉴를작성하고사용하는방법을배운다. 안드로이드에서대화상자를만들고사용하는방법을배운다. 2 확인해볼까? 3 메뉴 1) 학습하기 [ 그림 8-1] XML 을이용한옵션메뉴설정방법 public boolean

More information

Windows 8에서 BioStar 1 설치하기

Windows 8에서 BioStar 1 설치하기 / 콘텐츠 테이블... PC에 BioStar 1 설치 방법... Microsoft SQL Server 2012 Express 설치하기... Running SQL 2012 Express Studio... DBSetup.exe 설정하기... BioStar 서버와 클라이언트 시작하기... 1 1 2 2 6 7 1/11 BioStar 1, Windows 8 BioStar

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

vi 사용법

vi 사용법 네트워크프로그래밍 6 장과제샘플코드 - 1:1 채팅 (udp 버전 ) 과제 서버에서먼저 bind 하고그포트를다른사람에게알려줄것 클라이언트에서알려준포트로접속 서로간에키보드입력을받아상대방에게메시지전송 2 Makefile 1 SRC_DIR =../../common 2 COM_OBJS = $(SRC_DIR)/addressUtility.o $(SRC_DIR)/dieWithMessage.o

More information

서비스) 와서버( 관리대상서버) 간에자격증명을사용하여서로의 ID 를확인하고서로주고받는데이터를검사하고암호화하는프로세스 이다. 높은인증수준은일반적으로성능의저하를가져올수있지만높은 수준의보안과데이터무결성을제공한다. 기본값 - 관리대상서버에설정되어있는 DCOM 인증수준기본 값을

서비스) 와서버( 관리대상서버) 간에자격증명을사용하여서로의 ID 를확인하고서로주고받는데이터를검사하고암호화하는프로세스 이다. 높은인증수준은일반적으로성능의저하를가져올수있지만높은 수준의보안과데이터무결성을제공한다. 기본값 - 관리대상서버에설정되어있는 DCOM 인증수준기본 값을 설정매뉴얼 연결설정 연결을하기위해서는클라이언트와서버에 Windows Management Instrumentation, Remote Procedure Call(RPC) 서비스 가설치및실행되고있어야한다. Windows Management Instrumentation 서비스는 굳이실행시킬필요는없다. 요청이들어올경우자동실행되므로 연결및쿼리는 DCOM 을사용한다. DCOM은

More information

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

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

More information

[Brochure] KOR_TunA

[Brochure] KOR_TunA LG CNS LG CNS APM (TunA) LG CNS APM (TunA) 어플리케이션의 성능 개선을 위한 직관적이고 심플한 APM 솔루션 APM 이란? Application Performance Management 란? 사용자 관점 그리고 비즈니스 관점에서 실제 서비스되고 있는 어플리케이션의 성능 관리 체계입니다. 이를 위해서는 신속한 장애 지점 파악 /

More information

untitled

untitled Oracle DBMS 로그인의접근제어우회 취약점분석 2006. 2. 9 인터넷침해사고대응지원센터 (KISC) 본보고서의전부나일부를인용시반드시 [ 자료 : 한국정보보호진흥원 (KISA)] 룰명시하여주시기바랍니다. 개요 o 2005년이후 Oracle Critical Patch Update(CPU) 는 Oracle사제품대상으로다수의보안패치및보안패치와관련된일반패치를발표하는주요수단임

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

var answer = confirm(" 확인이나취소를누르세요."); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write(" 확인을눌렀습니다."); else { document.write(" 취소를눌렀습니다.");

var answer = confirm( 확인이나취소를누르세요.); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write( 확인을눌렀습니다.); else { document.write( 취소를눌렀습니다.); 자바스크립트 (JavaScript) - HTML 은사용자에게인터페이스 (interface) 를제공하는언어 - 자바스크립트는서버로데이터를전송하지않고서할수있는데이터처리를수행한다. - 자바스크립트는 HTML 나 JSP 에서작성할수있고 ( 내부스크립트 ), 별도의파일로도작성이가능하다 ( 외 부스크립트 ). - 내부스크립트 - 외부스크립트

More information

메일서버등록제(SPF) 인증기능적용안내서 (Exchange Windows 2000) OS Mail Server SPF 적용모듈 작성기준 Windows Server 2000 Exchange Server 2003 GFI MailEssentials 14 for

메일서버등록제(SPF) 인증기능적용안내서 (Exchange Windows 2000) OS Mail Server SPF 적용모듈 작성기준 Windows Server 2000 Exchange Server 2003 GFI MailEssentials 14 for 메일서버등록제(SPF) 인증기능적용안내서 (Exchange 2003 - Windows 2000) OS Mail Server SPF 적용모듈 작성기준 Windows Server 2000 Exchange Server 2003 GFI MailEssentials 14 for Exchange 2016 년 6 월 - 1 - 목 차 I. 개요 1 1. SPF( 메일서버등록제)

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

ISP and CodeVisionAVR C Compiler.hwp

ISP and CodeVisionAVR C Compiler.hwp USBISP V3.0 & P-AVRISP V1.0 with CodeVisionAVR C Compiler http://www.avrmall.com/ November 12, 2007 Copyright (c) 2003-2008 All Rights Reserved. USBISP V3.0 & P-AVRISP V1.0 with CodeVisionAVR C Compiler

More information

구조화 저장소 기법

구조화 저장소 기법 구조화저장소기법 (Structured Storage Technique) 만약정해진포맷의파일형식을써야하는것이아니라, 데이터를저장할때대단히유연하고도강력한방법이존재한다면얼마나편리할까? 구조화저장 (structured storage) 이라는새로운방식으로이러한문제를해결할수있다. 구조화저장은 DocFIle 이나 OLE 복합파일 (OLE compound file) 이라는이름으로도불리고있는새로운저장방식이다.

More information

bn2019_2

bn2019_2 arp -a Packet Logging/Editing Decode Buffer Capture Driver Logging: permanent storage of packets for offline analysis Decode: packets must be decoded to human readable form. Buffer: packets must temporarily

More information

Sena Device Server Serial/IP TM Version

Sena Device Server Serial/IP TM Version Sena Device Server Serial/IP TM Version 1.0.0 2005. 3. 7. Release Note Revision Date Name Description V1.0.0 2005-03-7 HJ Jeon Serial/IP 4.3.2 ( ) 210 137-130, : (02) 573-5422 : (02) 573-7710 email: support@sena.com

More information

제품소개 이매뉴얼은빅솔론프린터제품을 ios 환경에서사용할수있는유틸리티에대해서기술되어있습니다. 제품을새로구입하신분들은사용전에이설명서에있는내용을주의깊게읽어보시기바랍니다. 저희 ( 주 ) 빅솔론은제품의기능과품질향상을위하여지속적인개선을하고있습니다. 이로인하여제품의사양과매뉴얼의

제품소개 이매뉴얼은빅솔론프린터제품을 ios 환경에서사용할수있는유틸리티에대해서기술되어있습니다. 제품을새로구입하신분들은사용전에이설명서에있는내용을주의깊게읽어보시기바랍니다. 저희 ( 주 ) 빅솔론은제품의기능과품질향상을위하여지속적인개선을하고있습니다. 이로인하여제품의사양과매뉴얼의 소프트웨어매뉴얼 Easy Setup Utility ios Rev. 1.00 http://www.bixolon.com 제품소개 이매뉴얼은빅솔론프린터제품을 ios 환경에서사용할수있는유틸리티에대해서기술되어있습니다. 제품을새로구입하신분들은사용전에이설명서에있는내용을주의깊게읽어보시기바랍니다. 저희 ( 주 ) 빅솔론은제품의기능과품질향상을위하여지속적인개선을하고있습니다. 이로인하여제품의사양과매뉴얼의내용은사전통보없이변경될수있습니다.

More information

Microsoft PowerPoint - Supplement-02-Socket Overview.ppt [호환 모드]

Microsoft PowerPoint - Supplement-02-Socket Overview.ppt [호환 모드] 소켓개요 참고문헌 : 컴퓨터네트워크프로그래밍, 김화종, 홍릉과학출판사 Socket 정의 Socket 은 Transport 계층 (TCP 나 UDP) 을이용하는 API 1982 년 BSD 유닉스 41 에서처음소개 윈도우즈의경우 Winsock 제공 JAVA 또한 Socket 프로그래밍을위한클래스제공 Socket Interface 의위치 5-7 (Ses, Pre,

More information

1. What is AX1 AX1 Program은 WIZnet 사의 Hardwired TCP/IP Chip인 iinchip 들의성능평가및 Test를위해제작된 Windows 기반의 PC Program이다. AX1은 Internet을통해 iinchip Evaluation

1. What is AX1 AX1 Program은 WIZnet 사의 Hardwired TCP/IP Chip인 iinchip 들의성능평가및 Test를위해제작된 Windows 기반의 PC Program이다. AX1은 Internet을통해 iinchip Evaluation 1. What is AX1 AX1 Program은 WIZnet 사의 Hardwired TCP/IP Chip인 iinchip 들의성능평가및 Test를위해제작된 Windows 기반의 PC Program이다. AX1은 Internet을통해 iinchip Evaluation Board(EVB B/D) 들과 TCP/IP Protocol로연결되며, 연결된 TCP/IP

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

DLL(Dynamic Linked Library)

DLL(Dynamic Linked Library) 제 11 장동적연결라이브러리 11.1 DLL 의링크 11.2 DLL 의종류 실습 11-1 Implicit 링킹을통한정규 DLL 달력만들기 실습 11-2 Explicit 링킹을통한정규 DLL 달력만들기 실습 11-3 확장 DLL 을통한주민등록번호조회 프로그램만들기 DLL(Dynamic Linked Library) DLL 이란? 동적연결라이브러리 프로그램내부에라이브러리가있는것이아니라따로독립적으로실행가능한파일

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

제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. 필드만있는클래스 텔레비젼 2 예제 1. 필드만있는클래스 3 예제 2. 여러개의객체생성하기 4 5 예제 3. 메소드가추가된클래스 public class Television { int channel; // 채널번호 int volume; // 볼륨 boolean

More information

SOFTBASE XFRAME DEVELOPMENT GUIDE SERIES ActiveX 컴포넌트가이드 서울특별시구로구구로 3 동한신 IT 타워 1215 호 Phone Fax

SOFTBASE XFRAME DEVELOPMENT GUIDE SERIES ActiveX 컴포넌트가이드 서울특별시구로구구로 3 동한신 IT 타워 1215 호 Phone Fax SOFTBASE XFRAME DEVELOPMENT GUIDE SERIES 2012.02.18 서울특별시구로구구로 3 동한신 IT 타워 1215 호 Phone 02-2108-8030 Fax 02-2108-8031 www.softbase.co.kr Copyright 2010 SOFTBase Inc. All rights reserved 목차 1 장 : ActiveX

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

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

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 Power Java 제 7 장클래스와객체 이번장에서학습할내용 객체지향이란? 객체 메시지 클래스 객체지향의장점 String 클래스 객체지향개념을완벽하게이해해야만객체지향설계의이점을활용할수있다. 실제세계는객체로이루어진다. 객체지향이란? 실제세계를모델링하여소프트웨어를개발하는방법 절차지향과객체지향 절차지향프로그래밍 (procedural programming): 문제를해결하는절차를중요하게생각하는방법

More information

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호 제이쿼리 () 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호 CSS와마찬가지로, 문서에존재하는여러엘리먼트를접근할수있다. 엘리먼트접근방법 $( 엘리먼트 ) : 일반적인접근방법

More information

메일서버등록제(SPF) 인증기능적용안내서 (AIX - sendmail) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 AIX 5.3 sendmail spf-filter 년 6 월

메일서버등록제(SPF) 인증기능적용안내서 (AIX - sendmail) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 AIX 5.3 sendmail spf-filter 년 6 월 메일서버등록제(SPF) 인증기능적용안내서 (AIX - sendmail) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 AIX 5.3 sendmail 8.13.4 spf-filter 1.0 2016 년 6 월 목 차 I. 개요 1 1. SPF( 메일서버등록제) 란? 1 2. SPF 를이용한이메일인증절차 1 II. sendmail, SPF

More information

Microsoft PowerPoint - web-part03-ch20-XMLHttpRequest기본.pptx

Microsoft PowerPoint - web-part03-ch20-XMLHttpRequest기본.pptx 과목명 : 웹프로그래밍응용교재 : 모던웹을위한 JavaScript Jquery 입문, 한빛미디어 Part3. Ajax Ch20. XMLHttpRequest 2014년 1학기 Professor Seung-Hoon Choi 20 XMLHttpRequest XMLHttpRequest 객체 자바스크립트로 Ajax를이용할때사용하는객체 간단하게 xhr 이라고도부름 서버

More information

TCP.IP.ppt

TCP.IP.ppt TCP/IP TCP/IP TCP/IP TCP/IP TCP/IP Internet Protocol _ IP Address Internet Protocol _ Subnet Mask Internet Protocol _ ARP(Address Resolution Protocol) Internet Protocol _ RARP(Reverse Address Resolution

More information

Microsoft PowerPoint - chap01-C언어개요.pptx

Microsoft PowerPoint - chap01-C언어개요.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 프로그래밍의 기본 개념을

More information

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Function) 1. 함수의개념 입력에대해적절한출력을발생시켜주는것 내가 ( 프로그래머 ) 작성한명령문을연산, 처리, 실행해주는부분 ( 모듈 ) 자체적으로실행되지않으며,

More information

VPN.hwp

VPN.hwp Linksys VPN Router RV042&RV082 VPN Router 용 VPN 터널설정 한국어사용자설명서 V1.0 Table of Content 1 Gateway to Gateway 설정... 1 STEP 1 - Gateway to Gateway 터널생성하기... 1 STEP 2 - 터널정보입력하기... 1 STEP 3 - Gateway to Gateway

More information

C++ Programming

C++ Programming C++ Programming 예외처리 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 예외처리 2 예외처리 예외처리 C++ 의예외처리 예외클래스와객체 3 예외처리 예외를처리하지않는프로그램 int main() int a, b; cout > a >> b; cout

More information

설계란 무엇인가?

설계란 무엇인가? 금오공과대학교 C++ 프로그래밍 jhhwang@kumoh.ac.kr 컴퓨터공학과 황준하 16 강. 파일입출력목차 파일입출력기초 파일입출력모드 텍스트파일과이진파일 이진파일입출력 임의접근 1 /18 16 강. 파일입출력파일입출력기초 파일입출력과정 파일스트림객체생성 파일열기 사용 : 기본적으로표준입출력객체 (cin, cout) 사용방법과동일 파일닫기 파일스트림클래스의종류

More information

Microsoft PowerPoint 웹 연동 기술.pptx

Microsoft PowerPoint 웹 연동 기술.pptx 웹프로그래밍및실습 ( g & Practice) 문양세강원대학교 IT 대학컴퓨터과학전공 URL 분석 (1/2) URL (Uniform Resource Locator) 프로토콜, 호스트, 포트, 경로, 비밀번호, User 등의정보를포함 예. http://kim:3759@www.hostname.com:80/doc/index.html URL 을속성별로분리하고자할경우

More information

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx #include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의

More information

9 차시고급위젯다루기 1 학습목표 날짜 / 시간과관련된위젯을배운다. 웹뷰를사용하여간단한웹브라우저기능을구현한다. 매니패스트파일의설정법을배운다. 2 확인해볼까? 3 날짜 / 시간위젯 1) 활동하기 활동개요

9 차시고급위젯다루기 1 학습목표 날짜 / 시간과관련된위젯을배운다. 웹뷰를사용하여간단한웹브라우저기능을구현한다. 매니패스트파일의설정법을배운다. 2 확인해볼까? 3 날짜 / 시간위젯 1) 활동하기 활동개요 9 차시고급위젯다루기 1 학습목표 날짜 / 시간과관련된위젯을배운다. 웹뷰를사용하여간단한웹브라우저기능을구현한다. 매니패스트파일의설정법을배운다. 2 확인해볼까? 3 날짜 / 시간위젯 1) 활동하기 활동개요 [ 그림 9-1] 시간예약앱 활동과정 - 2 - [ 그림 9-2] 안드로이드 SDK Manager [ 예제 9-1]main.xml 1

More information

The Pocket Guide to TCP/IP Sockets: C Version

The Pocket Guide to  TCP/IP Sockets: C Version 인터넷프로토콜 5 장 데이터송수신 (1) 1 제 5 장데이터의송수신 5.1 정수인코딩 5.2 메시지생성, 프레이밍, 그리고파싱 5.3 마무리 2 들어가기전 TCP/IP 는사용자의데이터를검사하거나변경하지않고그대로전송 응용프로토콜은연속적인필드로구성된메시지형태로정의 인코딩 (encoding)/ 디코딩 (decoding) 또는파싱 (parsing) 네트워크응용프로그램개발방법

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

Network seminar.key

Network seminar.key Intro to Network .. 2 4 ( ) ( ). ?!? ~! This is ~ ( ) /,,,???? TCP/IP Application Layer Transfer Layer Internet Layer Data Link Layer Physical Layer OSI 7 TCP/IP Application Layer Transfer Layer 3 4 Network

More information

쉽게 풀어쓴 C 프로그래밊

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

More information

Network Security - Wired Sniffing 실습 ICNS Lab. Kyung Hee University

Network Security - Wired Sniffing 실습 ICNS Lab. Kyung Hee University Network Security - Wired Sniffing 실습 ICNS Lab. Kyung Hee University Outline Network Network 구조 Source-to-Destination 간 packet 전달과정 Packet Capturing Packet Capture 의원리 Data Link Layer 의동작 Wired LAN Environment

More information

歯MDI.PDF

歯MDI.PDF E08 MDI SDI(Single Document Interface) MDI(Multiple Document Interface) MDI (Client Window) (Child) MDI 1 MDI MDI MDI - File New Other Projects MDI Application - MDI - OK [ 1] MDI MDI MDI MDI Child MDI

More information

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우. 소프트웨어매뉴얼 윈도우드라이버 Rev. 3.03 SLP-TX220 / TX223 SLP-TX420 / TX423 SLP-TX400 / TX403 SLP-DX220 / DX223 SLP-DX420 / DX423 SLP-DL410 / DL413 SLP-T400 / T403 SLP-T400R / T403R SLP-D220 / D223 SLP-D420 / D423

More information

델파이 4 프로그래밍의 이해 (Understandings of Delphi 4 Programming)

델파이 4 프로그래밍의 이해 (Understandings of Delphi 4 Programming) 델파이 4 프로그래밍의이해 (Understandings of Delphi 4 Programming) 오브젝트파스칼과심도있는델파이프로그래밍의세계로들어가기전에, 이번장에서는델파이를사용하여첫번째윈도우어플리케이션을제작하고전반적인델파이의환경에대해서알아볼것이다. 내용의수준이높지는않겠지만, 흔히알고있었던내용이라고하더라도별생각없이넘어갔던것들도많을것이다. 그러면, 델파이 4

More information

1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml 파일을텍스트에디터를이용하여 Open 합니다. config.xml 파일에서, 아

1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml 파일을텍스트에디터를이용하여 Open 합니다. config.xml 파일에서, 아 LG U+ SMS/MMS 통합클라이언트 LG U+ SMS/MMS Client Simple Install Manual LG U+ SMS/MMS 통합클라이언트 - 1 - 간단설치매뉴얼 1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml

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

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

Microsoft Word - FunctionCall

Microsoft Word - FunctionCall Function all Mechanism /* Simple Program */ #define get_int() IN KEYOARD #define put_int(val) LD A val \ OUT MONITOR int add_two(int a, int b) { int tmp; tmp = a+b; return tmp; } local auto variable stack

More information

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

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

More information

문서의 제목 나눔고딕B, 54pt

문서의 제목 나눔고딕B, 54pt 산업공학과를위한 프로그래밍입문 (w/ 파이썬 ) PART II : Python 활용 가천대학교 산업경영공학과 최성철교수 간단한파일다루기 [ 생각해보기 ] 우리는어떻게프로그램을시작하나? 보통은이렇게생긴아이콘을누른다! 그러나실제로는아이콘이아닌 실행파일 을실행시키는것아이콘을클릭하고오른쪽마우스클릭 속성 을선택해볼것 [ 생각해보기 ] 옆과같은화면이나올것이다대상에있는

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 제 5 장생성자와접근제어 1. 객체지향기법을이해한다. 2. 클래스를작성할수있다. 3. 클래스에서객체를생성할수있다. 4. 생성자를이용하여객체를초기화할수 있다. 5. 접근자와설정자를사용할수있다. 이번장에서만들어볼프로그램 생성자 생성자 (constructor) 는초기화를담당하는함수 생성자가필요한이유 #include using namespace

More information

chapter4

chapter4 Basic Netw rk 1. ก ก ก 2. 3. ก ก 4. ก 2 1. 2. 3. 4. ก 5. ก 6. ก ก 7. ก 3 ก ก ก ก (Mainframe) ก ก ก ก (Terminal) ก ก ก ก ก ก ก ก 4 ก (Dumb Terminal) ก ก ก ก Mainframe ก CPU ก ก ก ก 5 ก ก ก ก ก ก ก ก ก ก

More information

Microsoft Word doc

Microsoft Word doc TCP/IP 구조 1. I.P 구조설명 2. ARP 구조설명 3. TCP 구조설명 4. UDT 구조설명 5. RIP 구조설명 6. BOOTP 구조설명 7. TFTP 구조설명 destination addr source addr type data CRC 6 6 2 46-1500 4 type 0X0800 IP datagram 2 46-1500 type 0X0806

More information

<4D F736F F F696E74202D20C1A63235C0E520B3D7C6AEBFF6C5A920C7C1B7CEB1D7B7A1B9D628B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

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

More information

 메소드 오버로딩

 메소드 오버로딩 객체지향언어로서의오브젝트파스칼 (Object Pascal As A OOP) 오브젝트파스칼의객체지향성을몰라도델파이어플리케이션을쉽게만들수있다. 단순히폼을하나만들고, 거기에여러가지컴포넌트들을추가하고, 이벤트핸들러에적당한내용의코드들을추가하면그걸로충분한것이다. 그렇지만, 이것을이해하면델파이가어떤방법으로작업을처리하는지이해할수있고, 자신만의컴포넌트를만들어내거나, 비교적커다란프로젝트를진행할때에커다란도움을받게될것이다.

More information

JDK이클립스

JDK이클립스 JDK 와이클립스설치 A. JDK 다운로드, 설치및환경설정 지금부터 JDK를다운로드받아설치하고 JDK를윈도우에서활용할수있도록환경을설정하는전과정을소개한다. 다운로드 www.oracle.com 사이트에접속하여 Downloads 메뉴를선택한후 [ 그림 1] 과같이 "Java for Developers" 를클릭한다. [ 그림 1] www.oracle.com 사이트

More information

전송계층프로토콜 TCP(Transmission Control Protocol) 전송계층에서동작하는연결지향형 (connectionoriented) 프로토콜 데이터의흐름을관리하고, 데이터가정확한지검증하며통신 쓰리웨이핸드셰이킹 (three-way handshaking) 을통

전송계층프로토콜 TCP(Transmission Control Protocol) 전송계층에서동작하는연결지향형 (connectionoriented) 프로토콜 데이터의흐름을관리하고, 데이터가정확한지검증하며통신 쓰리웨이핸드셰이킹 (three-way handshaking) 을통 전송계층프로토콜 TCP(Transmission Control Protocol) 전송계층에서동작하는연결지향형 (connectionoriented) 프로토콜 데이터의흐름을관리하고, 데이터가정확한지검증하며통신 쓰리웨이핸드셰이킹 (three-way handshaking) 을통해연결설정 특징 - 높은신뢰성 - 가상회선연결방식 - 연결의설정과해제 - 데이터체크섬 - 시간초과와재전송

More information

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate ALTIBASE HDB 6.1.1.5.6 Patch Notes 목차 BUG-39240 offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG-41443 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate 한뒤, hash partition

More information

SMB_ICMP_UDP(huichang).PDF

SMB_ICMP_UDP(huichang).PDF SMB(Server Message Block) UDP(User Datagram Protocol) ICMP(Internet Control Message Protocol) SMB (Server Message Block) SMB? : Microsoft IBM, Intel,. Unix NFS. SMB client/server. Client server request

More information

Keil Flexlm 라이선스 설명서

Keil Flexlm 라이선스 설명서 Copyright 2013 EMThink. All rights reserved. Date: 13 年 8 月 14 日 목차 라이선스서버의 HOSTID 찾기...3 라이선스파일만들기...5 라이선스서버프로그램다운로드하기...5 라이선스서버프로그램설치하기...6 라이선스파일수정하기...6 라이선스서버프로그램시작하기...7 라이선스서버프로그램종료하기...9 Page

More information

슬라이드 1

슬라이드 1 전자정부개발프레임워크 1 일차실습 LAB 개발환경 - 1 - 실습목차 LAB 1-1 프로젝트생성실습 LAB 1-2 Code Generation 실습 LAB 1-3 DBIO 실습 ( 별첨 ) LAB 1-4 공통컴포넌트생성및조립도구실습 LAB 1-5 템플릿프로젝트생성실습 - 2 - LAB 1-1 프로젝트생성실습 (1/2) Step 1-1-01. 구현도구에서 egovframe>start>new

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

歯처리.PDF

歯처리.PDF E06 (Exception) 1 (Report) : { $I- } { I/O } Assign(InFile, InputName); Reset(InFile); { $I+ } { I/O } if IOResult 0 then { }; (Exception) 2 2 (Settling State) Post OnValidate BeforePost Post Settling

More information

BEA_WebLogic.hwp

BEA_WebLogic.hwp BEA WebLogic Server SSL 설정방법 - Ver 1.0-2008. 6 개정이력 버전개정일개정내용 Ver 1.0 2008 년 6 월 BEA WebLogic Server SSL 설명서최초작성 본문서는정보통신부 한국정보보호진흥원의 보안서버구축가이드 를참고하여작성되었습니다. 본문서내용의무단도용및사용을금합니다. < 목차 > 1. 개인키및 CSR 생성방법

More information