달력

04

« 2008/04 »

  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  •  
  •  
  •  
언제나 그렇듯 영상을 보면 컴퓨터로 뭐든지 다 될거 같은 유쾌한 기분이 듭니다.
하지만... 실제로 사용할 때는 왜 그런 기분이 안드는지....ㅡㅡ;
(좋지 않다는 말이 아니라... 그냥 기분상의 문제 입니다.^^;)
그렇다해도 일반 사용자가 쓰는데 있어서 아직 까지는 최고의 운영체재라고 생각합니다.

'General Tech.' 카테고리의 다른 글

Daum UI DevDay 행사 안내  (0) 2008/05/18
Microsoft Dev Days 2007 Korea  (0) 2008/04/29
Windows 7과 관련된 동영상 입니다.  (0) 2008/04/11
Velocity  (0) 2008/03/20
커서(Cursor)에 대한 요약 정리  (0) 2008/03/11
Google Analytics Interface Tutorial  (0) 2008/02/22
TAG windows 7
Posted by -세티-
2008/04/11 01:33

닷넷의 소켓 클래스 General .NET2008/04/11 01:33

필요한 네임스페이스

System.Net, System.Net.Sockets

 

System.Net.Sockets.Socket 클래스의 특징

- 클라이언트 응용프로그램과 서버 응용 프로그램에서도 소켓으로 사용 가능

- 동기, 비동기 동작을 모두 사용가능

 

endpoint

- 네트워크 케이블의 양 끝(종단점)

- 네트워크에 대한 읽기, 쓰기를 수행

 

클라이언트와 서버 응용 프로그램은 소켓 연결을 통해서 통신하고 바이트 스트림을 주고 받는다. 다른 소켓으로 메시지를 보내기 위해서는 응용 플로그램을 제공하는 PC의 아이피 주소와 소프트웨어의 프로세스 식별자를 알아야 한다.

PC에서 소프트웨어 프로세스 식별자는 포트라고 하는 고유한 숫자를 사용.

따라서 응용 프로그램에서 연결의 반대편 끝에 있는 다른 소켓에 메시지를 전달하려면 상대편 IP주소와 응용 프로그램의 포트 번호를 알아야 한다.

 

닷넷 프레임워크에서는 소켓의 기능을 System.Net.Sockets.Socket 클래스로 제공.

인터넷을 사용하는 소켓 응용 프로그램을 작성하므로 AddressFamily.InterNetwork를 사용한다.

 

[소캣구성]

소켓 객체를 생성하고 사용하기 위한 Socket 클래스의 생성자

public Socket(AddressFamily addressFamily, SocketType socketType, ProtocolType protocolType)

 

소켓 객체의 생성자는 3가지 열거형 AddressFamily, SocketType, ProtocolType을 인자로 받으며 각 열거형은 System.Net.Sockets 네임스페이스에 정의되어 있다.

 

AddressFamily 열거형

- Socket 객체가 주소를 풀이하기 위해 사용하는 주소 지정 스키마를 정의.

- 여기서는 인터넷을 사용하므로 AddressFamily.InterNetWork를 사용.

 

SocketType 열거형

- 소켓의 종류를 지정, 가장 많이 사용되는 소켓의 종류는 SocketType.Stream

- Stream은 양방향 연결 기반 바이트 스트림을 제공.

 

ProtocolType 열거형

- 소켓이 통신을 하기 위해 사용하는 저수준 프로토콜의 종류를 지정.

- TCP, AddresssFamily.InterNetwork를 사용해야 함.

 

) 소켓객체의 인스턴스를 생성

Socket mySocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

 

[원격서버에 연결하기]

Socket클래스의 Connect()를 사용하여 원격서버에 연결.(동기적 시도)

Connect() 메소드의 서명

- public void Connect( EndPoint remoteEP);

 

Connect() 메소드 인자

- System.Net.EndPoint 클래스의 인스턴스

- EndPoint 클래스는 추상 클래스로 네트워크 주소를 의미한다

- EndPoint 클래스의 하위 클래스는 System.Net.IPEndPoint

- Connect() 메소드를 사용할 때는 연결하려는 원격 서버의 IP 주소와 포트 번호를 포함한 IPEndPoint 객체를 인자로 사용해야 함.

 

IPEndPoint객체의 2가지 생성자

public IPEndPoint(long address, int port);

public IPEndPoint(IPAddress address, int port); (가장 자주 사용함)

'General .NET' 카테고리의 다른 글

C# 전처리기 지시문  (0) 2008/04/27
기초 C# - 제너릭  (0) 2008/04/27
닷넷의 소켓 클래스  (0) 2008/04/11
ASP.NET MVC Framework  (0) 2008/03/27
Interface  (0) 2008/02/19
Interface란?  (0) 2008/02/18
Posted by -세티-

3. xml 문서의 생성

빨간 부분 : xml 문서라는 것을 알려주는 것과 버전 번호를 알려주는 XML 선언
              : 프롤로그 영역

검은 부분 : 도큐먼트 엘리먼트

<?xml version="1.0" encoding="utf-8" ?>
<INVENTORY>
    <BOOK>
        <TITLE>The Adventures of Huckleberry Finn</TITLE>

        <BINDING>mass market paperback</BINDING>
        <AUTHOR>Mark Twain</AUTHOR>
        <PAGES>298</PAGES>
        <PRICE>$5.49</PRICE>
    </BOOK>
    <BOOK>
        <TITLE>The Marble Faun</TITLE>

        <BINDING>trade paperback</BINDING>
        <AUTHOR>Nathaniel Hawthorne</AUTHOR>
        <PAGES>473</PAGES>
        <PRICE>$10.95</PRICE>
    </BOOK>
    <BOOk>
        <TITLE>
           Moyy-Dick
             <SUBTITLE>Or, the Whale</SUBTITLE>
        </TITLE>

        <BINDING>Hardcover</BINDING>
        <AUTHOR>Human Melille</AUTHOR>
        <PAGES>724</PAGES>
        <PRICE>$9.95</PRICE>
    </BOOK>
</INVENTORY>

 

xml을 보기 위해서는 다음의 xml parser를 다운받아 설치한다.

(http://www.microsoft.com/downloads/details.aspx?FamilyID=4a3ad088-a893-4f0b-a932-5e024e74519f&DisplayLang=en)

 

아래는 설치 후 웹 브라우저를 통해서 본 이미지입니다.

사용자 삽입 이미지

4. CSS를 이용한 XML 문서 출력 
XML 문서를 출력하기 위해 .css 인 파일을 하나 만든다.

<style type="text/css">
BOOK
{
 display : block;
 margin-top : 12pt;
 font-size : 10pt;
}
TITLE
{
 display : block;
 font-size : 10pt;
 font-style : Italic;
 font-weight : bold;
}
AUTHOR
{
 display : block;
 margin-left : 15pt;
 font-style : Italic;
 font-weight : bold;
}
BINDING
{
 display : block;
 margin-left : 15pt;
}
PAGES
{
 display : none;
}
PRICE
{
 display : block;
 margin-keft : 15pt;
}
</style>
 

다음으로 다음의 코드를 XML 문서에 추가한다.

<?xml version="1.0" encoding="utf-8" ?>

<?xml-stylesheet type="text/css" href="family.css"?>

<INVENTORY>
    <BOOK>
        <TITLE>The Adventures of Huckleberry Finn</TITLE>

        <BINDING>mass market paperback</BINDING>
        <AUTHOR>Mark Twain</AUTHOR>
        <PAGES>298</PAGES>
        <PRICE>$5.49</PRICE>
    </BOOK>
    <BOOK>
        <TITLE>The Marble Faun</TITLE>

        <BINDING>trade paperback</BINDING>
        <AUTHOR>Nathaniel Hawthorne</AUTHOR>
        <PAGES>473</PAGES>
        <PRICE>$10.95</PRICE>
    </BOOK>
    <BOOk>
        <TITLE>
           Moyy-Dick
             <SUBTITLE>Or, the Whale</SUBTITLE>
        </TITLE>

        <BINDING>Hardcover</BINDING>
        <AUTHOR>Human Melille</AUTHOR>
        <PAGES>724</PAGES>
        <PRICE>$9.95</PRICE>
    </BOOK>
</INVENTORY>

아래는 웹 브라우저를 통해 출력된 XML 문서이다.

사용자 삽입 이미지

'General Web' 카테고리의 다른 글

W3C 표준 DOM  (0) 2008/11/30
[HTML] Box Model  (0) 2008/08/06
2. xml 문서의 생성과 CSS를 이용한 XML 문서 출력  (0) 2008/04/11
xml과 10가지 설계목표  (0) 2008/04/11
[RDF 입문서] 1. 소개  (0) 2008/03/12
RDFa Basics  (0) 2008/02/22
Posted by -세티-
2008/04/11 01:23

xml과 10가지 설계목표 General Web2008/04/11 01:23

1. XML이란?

XML(Extensible MarkUp Language) - http://www.w3.org/TR/REC-xml

- W3C 워킹그룹에 의해 정의됨
- SGML의 부분 집합
- 1998년 2월 XML 버전 1.0

 
필요한 이유?
- HTML은 악보의 기호나 수학 방정식을 표현하는 엘리먼트가 부족하다.
- 필터링과 같은 기능의 구현
- 트리 같은 계층 구조로 정렬하기 원하는 문서에 사용

XML
- XML 문서의 엘리먼트 이름은 XML 정의의 일부가 아님.

XML 문서 작성하기

- 엄격한 syntax 적용 (시작태그와 마침태그)
-  엄격함의 여부에 따라 well-formed, valid

XML 문서 출력하기
- 스타일시트 링크
- 데이터바인딩
- 스크립팅

2. xml의 10가지 설계 목표

11. XML은 인터넷에서 널리 사용된다.
2. XMl은 다양한 어플리케이션을 지원할 것이다.
3. XML은 SGML과 호환된다.
4. XML 문서를 처리하는 프로그램을 작성하는 것은 쉬워야 한다.
5. XML의 부가 기능의 개수는 가능한한 최소(이상적으로는 0) 로 유지되어야 한다.
6. XML 문서는 사람이 읽기 쉬워야 라고 납득할 만틈의 수준으로 명확해야만 한다.
7. XML 디자인은 빠르게 준비될 수 있어여 한다.
8. XML의 디자인은 명확할 필요가 있다.
9. XML 문서는 작성하기에 쉬워야 한다.
10. XML 마크업은 꼭 간결할 필요는 없다.
9. XML 문서는 작성하기에 쉬워야 한다.
10. XML 마크업은 꼭 간결할 필요는 없다.

'General Web' 카테고리의 다른 글

[HTML] Box Model  (0) 2008/08/06
2. xml 문서의 생성과 CSS를 이용한 XML 문서 출력  (0) 2008/04/11
xml과 10가지 설계목표  (0) 2008/04/11
[RDF 입문서] 1. 소개  (0) 2008/03/12
RDFa Basics  (0) 2008/02/22
RDF란?  (0) 2008/02/21
Posted by -세티-