The OpenNET Project / Index page

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

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

"программирование сокетов"
Сообщение от AlexT emailИскать по авторуВ закладки on 07-Ноя-02, 01:28  (MSK)
Люди будьте добры подскажите пожалуйста почему вот этот код :
struct sockaddr_in ssin;
char strHlp[]="localhost";
struct hostent* hp;

if( (hp=gethostbyname(strHlp)) == NULL  )
  {
     return -1;
  }
bzero((char *)&ssin, sizeof(ssin));
bcopy(hp->h_addr, (char *)&ssin.sin_addr, hp->h_length);
ssin.sin_family = hp->h_addrtype;
ssin.sin_port = htons(PortNum);
while(1)
  {
    a=accept(s,0,(socklen_t*) sz);
    cout << "Accept:" << a << endl;
    if(a==-1)
       {
       cout << "Can't accept!!!\n";
       break;
       }
   r=recv(s, ( void*)sBuff, sizeof(sBuff),0);
   cout << "Recv:" << r << endl;
   if(r==-1)
{
         cout << "Can't recv!!!\n";
         break;
}
   cout << sBuff;

выдает "Can't recv!!!"  в бесконечном цикле? (код сокращен если надо могу уточнить) а вот этот (то же сокращен) :

struct sockaddr_in ssin;
char strHlp[]="localhost";
struct hostent* hp;
if( (hp=gethostbyname(strHlp)) == NULL  )
{
     return -1;
  }
bzero((char *)&ssin, sizeof(ssin));
bcopy(hp->h_addr, (char *)&ssin.sin_addr, hp->h_length);
ssin.sin_family = hp->h_addrtype;
ssin.sin_port = htons(PortNum);
cin >> MyBuff;
if((mMessage = send(Socket,( void *)MyBuff, sizeof(MyBuff),0))==-1)
    cout << "Not send\n";
else
    cout << mMessage << "of" << sizeof(MyBuff) << "byte send\n";

выдает "Not send"?
Пытаюсь сконнектить их друг с другом.... но может быть не по тому порту пробую(скажите по какому надо)? Или я просто что то не доглядел по тупости или рассеяности? connect ,bind, socket, listen ,accept выдают 0
значит работают........

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

 Оглавление

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

1. "RE: программирование сокетов"
Сообщение от qq Искать по авторуВ закладки on 07-Ноя-02, 05:09  (MSK)

r=recv(a, ( void*)sBuff, sizeof(sBuff),0);
_______^


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

2. "RE: программирование сокетов"
Сообщение от qq Искать по авторуВ закладки on 07-Ноя-02, 05:11  (MSK)
>
>r=recv(a, ( void*)sBuff, sizeof(sBuff),0);
>_____^

указка не точной получилась ;)
ну в общем читать надо с того дескриптора, что тебе accept вернул

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

3. "RE: программирование сокетов"
Сообщение от AlexT emailИскать по авторуВ закладки on 07-Ноя-02, 12:55  (MSK)
>>
>>r=recv(a, ( void*)sBuff, sizeof(sBuff),0);
>>_____^
>
>указка не точной получилась ;)
>ну в общем читать надо с того дескриптора, что тебе accept вернул
>
Спасибо.
Помогло...
Но send так и не работает :(

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

4. "RE: программирование сокетов"
Сообщение от AlexT emailИскать по авторуВ закладки on 07-Ноя-02, 18:19  (MSK)
Всем спасибо все работает:)
Вот подсказал бы еще кто как принимать сообщение не целиком, а по IP пакетам , для дальнейшей обработки?
  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

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




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

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