The OpenNET Project / Index page

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

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

"многоклиентный сервер"
Сообщение от zzz emailИскать по авторуВ закладки(??) on 13-Май-04, 00:18  (MSK)
дайте плз простенький пример сервера на несколько клиентов (на сях)
  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

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

1. "многоклиентный сервер"
Сообщение от alexora Искать по авторуВ закладки(ok) on 18-Май-04, 07:03  (MSK)
#include <stdlib.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <string.h>
#include <stdio.h>
#include <errno.h>
#include <time.h>
#include <sys/wait.h>
#include <signal.h>
#include <GeoIP.h>
#include "mysql.h"


#define     port 8787

struct linger l = { 1, 0 };

int     threadCount = 0;

int     sockserver   = 0;
int     sockclient   = 0;

int     dw_temp;
int     acceptPid;

struct  sockaddr_in sockaddrserver;
struct  sockaddr_in sockaddrclient;

int     size;
int     yes = 1;
int     pid;

struct  sigaction sa;

void    child();


int main(void)
{
        sockserver = socket(AF_INET, SOCK_STREAM, 0);

if (setsockopt(sockserver,SOL_SOCKET,SO_REUSEADDR,&yes,sizeof(int))==-1) return 0;

        sockaddrserver.sin_family      = AF_INET;
sockaddrserver.sin_port        = htons(port);
sockaddrserver.sin_addr.s_addr = INADDR_ANY;
memset(&(sockaddrserver.sin_zero), '\0', 8);

if (!sockserver)
{
    printf("Error to init socket\n");
    return 0;
}     


if (bind(sockserver, (struct sockaddr*)&sockaddrserver, sizeof(struct sockaddr))==-1)
{
    printf("Error to bind");
    return 0;
}

listen(sockserver,SOMAXCONN);

size = sizeof(struct sockaddr);

for (dw_temp=0;dw_temp<20;dw_temp++)
{
acceptPid = fork();
if (!acceptPid)
{
child();
exit(0);
}
}
}


void child()
{
while (1)
{
sockclient = accept(sockserver,(struct sockaddr*)&sockaddrclient,&size);
if (sockclient<=0) continue;
}
}

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

2. "многоклиентный сервер"
Сообщение от Борис emailИскать по авторуВ закладки on 22-Май-04, 19:25  (MSK)
>дайте плз простенький пример сервера на несколько клиентов (на сях)
http://www.opennet.me/opennews/art.shtml?num=3813

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


Удалить

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




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

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