Q&A

  • socket API programing
winsock 2 API 를 사용해서 프로그램을 만드는데,

여기저기서 참고자료도 찾고, 책도 한권 사고해서 이제 막 프로그래밍에

들어가려고 오늘 델파이를 실행했는데, "얼래? --;" 하면서 멈출 수밖에

없었습니다. socket 프로그래밍을 하기위해 사용하는 구조체들이

문제인데, 예를 들어 Berkley socket 을 쓰면서 C로 코딩할때

sockaddr_in 구조체를 사용하기위해



struct sockaddr_in addr;



식으로 쓰던 것을 winsock 에서는



SOCKADDR_IN addr;



이라고 쓰는데요, 구조체가 class 로 정의되어서 이따시로 써주게

된거지요. 그렇게 알고 에디터에서 sockaddr_in 을 정의하려는데 좀

하다보니까 제가 바보짓을 하고있지뭐에요. 델파이 에디터에서 C 의

변수정의를 해버렸습니다. 그래서 어찌어찌하다보니 sockaddr 구조체는

TSockAddr 이라는 클래스로 정의 되어있다는 걸 알았고, 또 TMulticast

라는 클래스도 델파이에 있는 것같은데 이런 구조체는 berkley socket엔

없거든요. 그밖에 TWSADATA같은 것도 있는 것같은데요, 이렇게 다르게

정의되는 것들에대한 참고자료가 있어야할 것같습니다. 제가 찾은 것들은

다 C 나 C++로 코드 예시를 하고있어 pascal에는 어떤 클래스를 써서

정의되는지 알길이 없네요.

조언 부탁합니다.



1  COMMENTS
  • Profile
    김영대 1999.07.21 20:36
    Lyle 께서 말씀하시기를...

    > winsock 2 API 를 사용해서 프로그램을 만드는데,

    > 여기저기서 참고자료도 찾고, 책도 한권 사고해서 이제 막 프로그래밍에

    > 들어가려고 오늘 델파이를 실행했는데, "얼래? --;" 하면서 멈출 수밖에

    > 없었습니다. socket 프로그래밍을 하기위해 사용하는 구조체들이

    > 문제인데, 예를 들어 Berkley socket 을 쓰면서 C로 코딩할때

    > sockaddr_in 구조체를 사용하기위해

    >

    > struct sockaddr_in addr;

    >

    > 식으로 쓰던 것을 winsock 에서는

    >

    > SOCKADDR_IN addr;

    >

    > 이라고 쓰는데요, 구조체가 class 로 정의되어서 이따시로 써주게

    > 된거지요. 그렇게 알고 에디터에서 sockaddr_in 을 정의하려는데 좀

    > 하다보니까 제가 바보짓을 하고있지뭐에요. 델파이 에디터에서 C 의

    > 변수정의를 해버렸습니다. 그래서 어찌어찌하다보니 sockaddr 구조체는

    > TSockAddr 이라는 클래스로 정의 되어있다는 걸 알았고, 또 TMulticast

    > 라는 클래스도 델파이에 있는 것같은데 이런 구조체는 berkley socket엔

    > 없거든요. 그밖에 TWSADATA같은 것도 있는 것같은데요, 이렇게 다르게

    > 정의되는 것들에대한 참고자료가 있어야할 것같습니다. 제가 찾은 것들은

    > 다 C 나 C++로 코드 예시를 하고있어 pascal에는 어떤 클래스를 써서

    > 정의되는지 알길이 없네요.

    > 조언 부탁합니다.

    >



    안녕하세요 김영대입니다

    저도 처음에 UNIX C 로 socket programming 하다가

    DELPHI 로 오면서 경험했던 일이라...



    제가 가지고 있는 socket 자료들의 대부분도 C 입니다

    하지만 socket 은 표준화가 잘 되 있어서 타입선언 정도만 약간

    다를뿐 다른 부분의 플랫폼에 독립적인면이 많습니다



    타입이나 함수의 prototype 선언은 winsock.pas 파일을 참고해보세요