Q&A

  • UDP를 쓰고 싶어요 부탁드려요
winsock 을 직접 제어 해서 쓰고 싶은데 따로이 더 추가 해야 하는 부분들이 있나해서요

uses 절에 WinSock 넣고



procedure tmp;

var addr: sockaddr_in;

var sockfd: TSocket;

begin

sockfd := socket(AF_INET, SOCK_DGRAM, 0);

FillChar(addr, sizeof (addr), #0);

addr.sin_family = AF_INET;

addr.sin_port = htons(NUMBER);

addr.sin_addr.s_addr = inet_addr('255.255.255.255');



bind (sockfd, addr, sizeof (addr));

end;



같이 사용했는데 소켓 부터 열리지가 않으니 어떻게 해야 할지 모르겠네여

고수님들의 많은 성원 부탁드립니다.

1  COMMENTS
  • Profile
    tomhea 2001.04.25 01:03
    짱녈이 wrote:

    > winsock 을 직접 제어 해서 쓰고 싶은데 따로이 더 추가 해야 하는 부분들이 있나해서요

    > uses 절에 WinSock 넣고

    >

    > procedure tmp;

    > var addr: sockaddr_in;

    > var sockfd: TSocket;

    > begin

    > sockfd := socket(AF_INET, SOCK_DGRAM, 0);

    > FillChar(addr, sizeof (addr), #0);

    > addr.sin_family = AF_INET;

    > addr.sin_port = htons(NUMBER);

    > addr.sin_addr.s_addr = inet_addr('255.255.255.255');

    >

    > bind (sockfd, addr, sizeof (addr));

    > end;

    >

    > 같이 사용했는데 소켓 부터 열리지가 않으니 어떻게 해야 할지 모르겠네여

    > 고수님들의 많은 성원 부탁드립니다.





    정확한 원인은 알수 없지만...

    WSAStartup($0101,pt); 과 WSACleanup;이 빠진것 같군요..

    시작할때 WSAStartup($0101,pt);를 하시고 끝날때 WSACleanup;이걸 한번 해보시죠...

    여기서 pt는 pt: TWSAData;로 선언한 변수 입니다.