Тут вопрос такой возник по ходу разработки небольшой либы для своей прожки. Короче, есть функции по работе с сетью (типа TSocket B BCB), надо бы их в ANSI-C перевести (они написаны на С++). Все, вроде-бы, в поряде, да только создание сокета хромает. Вот этот код никак не хочет компилится под сишным компиллером:
Код | SOCKET create_out_socket(char *hostname, long int port){ int res,err; SOCKET s; struct sockaddr_in Saddr; err = WSAStartup( 0x101, &W ); if(err!=0)return -2; s=socket(AF_INET,SOCK_STREAM,0); Saddr.sin_family=AF_INET; Saddr.sin_port=htons(port); hostent *H=gethostbyname(hostname); if (H == NULL)return 0; Saddr.sin_addr.s_addr=/*0x291743c2;*/ *((unsigned long *) H->h_addr); res=connect(s,(sockaddr*)&Saddr,sizeof(Saddr)); if(res!=0)return -1; return s; }
|
Что здесь не так?
|