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;
같이 사용했는데 소켓 부터 열리지가 않으니 어떻게 해야 할지 모르겠네여
고수님들의 많은 성원 부탁드립니다.
> 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;로 선언한 변수 입니다.