![]() |
Olá e boas-vindas de Estados Unidos para o UNIX e Linux Forum! Obrigado por visitar e fazer parte da nossa comunidade global.
|
|
google unix.com
|
|||||||
| Fóruns | Registar | Fórum Regimento | Ligações | Álbuns | FAQ | Lista deputados | Calendário | Pesquisa | Today's Posts | Mark Forums Read |
| HP-UX HP-UX (Hewlett Packard Unix) Hewlett-Packard é propriedade da aplicação do sistema operativo Unix, baseado no Sistema de V. |
Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
|
||||
| Fio | Thread Starter | Fórum | Respostas | Última postagem |
| problema com socket leitura | swap007 | UNIX & avançada para usuários experientes | 2 | 05-21-2008 01:08 |
| HTTP Keep-Alive soquete problema | imdupeng | Alto Nível de programação | 0 | 03-29-2008 09:11 |
| socket comunicação escrita, mas não | madfox | Alto Nível de programação | 2 | 12-04-2007 03:44 |
| Problema durante a conexão com soquete | Stevhp | Alto Nível de programação | 6 | 04-30-2007 07:27 |
| Socket Problema | Agent007 | Alto Nível de programação | 3 | 04-03-2004 08:15 |
|
|
Linkback | Thread Tools | Pesquisar este Thread | Rate Thread | Display Modes |
|
||||
|
Nosso sistema está a ter um servidor e vários clientes. Estamos a acompanhar o cliente escolha utilizando FDS () na chamada de sistema HP-UX.
Depois de estabelecer ligação utilizando-socket com o cliente remoto, antes de começar a enviar os dados que estamos a verificar o estado do soquete usando select () call. Para os 16 primeiros clientes a escolher () chamada é desbloqueado e FD_ISSET () retorna sucesso. Mas a partir do dia 17 a partir de cliente, selecione a () é desbloqueado e FD_ISSET () não estiver retornando SUCESSO (ele está retornando valor negativo), ambas em 11 e HP-UX 11i. Mas a mesma lógica funciona bem até 1024 clientes em Solaris, AIX, Linux. O código fonte é a seguir mencionadas, Por favor, diga a forma de corrigir este problema. fd_set Writefds; struct timeval Timeout; int retcode; int RetValue; int SockDesc; struct sockaddr_in cliente; char BulkData [5000] \u003d "Aviso"; int Retval; int clientlen \u003d sizeof (struct sockaddr_in); client.sin_family \u003d AF_INET; client.sin_addr.s_addr \u003d INADDR_ANY; client.sin_port \u003d htons (SERVER_PORT); SockDesc \u003d socket (AF_INET, SOCK_STREAM, 0); ligue (SockDesc, & cliente, (socklen_t) clientlen); Timeout.tv_sec \u003d 0; Timeout.tv_usec \u003d 0; FD_ZERO (& Writefds); FD_SET (SockDesc, & Writefds); Retcode \u003d select (0, NULL, & Writefds, NULL, & tempo); if (retcode> 0) ( Retval \u003d FD_ISSET (SockDesc, & Writefds); if (Retval> 0) ( enviar (SockDesc, szBulkData, (size_t) sizeof (szBulkData), 0); ) diferente ( printf ( "FD_ISSET é falhou:% d \ n", Retval); ) ) else if (retcode \u003d\u003d -1) ( printf ( "Erro ao selecionar retorno:% d \ n", errno); ) else if (retcode \u003d\u003d 0) ( printf ( "select retornar 0 [Timeout ocorreu]. \ n"); ) |
| Marcadores |
| Thread Tools | Pesquisar este Thread |
| Display Modes | Esta taxa Thread |
|
|