| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > sockaddr и sockaddr_in |
| Автор: NightGoblin 25.12.2002, 17:06 |
| Народ, если кто сталкивался в проблемой, подскажите плз. Надо создать соединение с сервером в инете по HTTP. В принципе, все понятно, как все реализовать через сокеты, но при вызове connect () компилятор ругается: warning: passing arg 2 of `connect' from incompatible pointer type так как connect'у нужен const struct sockaddr, а адрес IP задается структурой struct sockaddr_in. И хотя все компиллируется и работает (sockaddr_in по размерам и значениям подходит под sockaddr), хотелось бы сделать все аккуратненько и убрать это предупреждение. В принципе, можно, конечно, аналогичным образом заполнить поля sockaddr, но, опять же, делать этого не хочется... Или все-таки надо? ЗЫ: платформа Linux / GCC |
| Автор: Baa 25.12.2002, 17:57 |
| To actually fill in values for each part of an address, you use the SOCKADDR_IN data structure, which is specifically for this address format. The SOCKADDR and the SOCKADDR_IN data structures are the same size. You simply cast to switch between the two structure types. |
| Автор: NightGoblin 26.12.2002, 12:39 | ||
окей, только ты не забывай что я чайник |
| Автор: Baa 27.12.2002, 00:29 |
| struct sockaddr_in *sock; connect (s, (struct sockaddr*)sock, hzskok); |
| Автор: NightGoblin 31.12.2002, 18:00 |
| Спасибо, все забегало! |