The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Sockets"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Sockets"
Сообщение от OgreSwamp emailИскать по авторуВ закладки on 05-Сен-02, 17:53  (MSK)
Вот такая проблема.
Надо написать небольшой сервер.
Если указать IP localhosta (INADDR_ANY), то все оки, а если указывать свой, то возникает Bind error: can't assign address
вот кусок кода с localhost (рабочий):
///////code//////////////////
struct sockaddr_in server = {AF_INET, 1200, INADDR_ANY};
if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1) {
   perror("Socket error");
   exit(1);
}
if (bind(sockfd, (struct sockaddr *)&server, SIZE) == -1) {
   perror("Bind error");
   exit(1);
}
////////end of code/////////////
А вот нерабочий с моим IP (не localhost'a)
////////code//////////////////
struct sockaddr_in server = {AF_INET, 1200, inet_addr("192.168.1.1")};
if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1) {
   perror("Socket error");
   exit(1);
}
if (bind(sockfd, (struct sockaddr *)&server, SIZE) == -1) {
   perror("Bind error");
   exit(1);
}
///////////end of code//////////////////////
Проблема в том, что если указать INADDR_ANY, то 1200 порт не открывается...
Помогите его открыть.
Заранее спасибо
  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "RE: Sockets"
Сообщение от joker Искать по авторуВ закладки on 05-Сен-02, 19:40  (MSK)
попробуй сделать так

#define PORT 1200
...
struct sockaddr_in server;
        if ((sockfd=socket(AF_INET,SOCK_STREAM,0))==-1)
           {perror("socket");exit(1);}
        bzero(&server,sizeof(server));
        server.sin_family=AF_INET;
        server.sin_port=htons((u_short)PORT);
        server.sin_addr.s_addr=INADDR_ANY;
        if (bind(sockfd,(struct sockaddr*)&server,sizeof(server))==-1)
           {perror("bind");exit(1);}

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру