Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
artemd55131
2 / 4 / 0
Регистрация: 26.06.2014
Сообщений: 60
#1

Что нужно знать для написания сервера - C++

01.07.2014, 05:44. Просмотров 549. Ответов 4
Метки нет (Все метки)

всем привет.решил попробовать сделать сервер на c++.раньше этим не занимался.подскажите хорошие источники.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.07.2014, 05:44
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Что нужно знать для написания сервера (C++):

Что нужно знать для написания игры типа Gravity defied - C++
Хочу создать игру на подобии gravity defied на компьютер, пожалуйста подскажите, что нужно для этого знать(На какой библиотеке, по каким...

Что нужно знать для создания длл и трейнеров - C++
Здравствуйте! Решил заниматься программированием, а именно на языке программирования C++. Что нужно знать в будущем для создания чита,...

Что нужно знать для программирования bios-загружающихся программ? - C++
То есть программ, загружаемых не из ОС. Например, как Acronis, BartPE или подобных (ну, или Grub) Я, конечно, не собрался писать свой...

Объясните, как пишут игры и что для этого нужно знать - C++
Добрый день,сразу предупреждаю и извиняюсь за то,что вопрос скорее всего будет очень глупым(для тех кто разбирается). Подскажите...

Трудоустройство: что нужно знать для успешного прохождения собеседования в самые крутые компании? - C++
Добрый вечер. Напишите пожалуйста список того, что нужно знать для успешного прохождения собеседования в самые крутые компании, c++...

Знаю язык "Си", что нужно знать для изучения Си++, какие у них отличия и т.д? - C++
Знаю язык "Си",что нужно знать для изучения Си++,какие у них отличия и т.д?

4
nmcf
5324 / 4644 / 1553
Регистрация: 14.04.2014
Сообщений: 18,479
01.07.2014, 08:41 #2
Что за сервер?
0
Ryuk
179 / 177 / 33
Регистрация: 10.06.2011
Сообщений: 871
01.07.2014, 08:49 #3
nmcf, клиент-сервер скорее всего
0
artemd55131
2 / 4 / 0
Регистрация: 26.06.2014
Сообщений: 60
01.07.2014, 15:09  [ТС] #4
да,клиент-сервер
0
Friday
ну и долго меня небыло...
61 / 57 / 8
Регистрация: 24.03.2013
Сообщений: 173
01.07.2014, 15:43 #5
вот сервер:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <sys/types.h> 
#include <sys/socket.h>
#include <netinet/in.h>
 
void error(const char *msg)
{
    perror(msg);
    exit(1);
}
 
int main(int argc, char *argv[])
{
     int sockfd, newsockfd, portno;
     socklen_t clilen;
     char buffer[256];
     struct sockaddr_in serv_addr, cli_addr;
     int n;
     if (argc < 2) {
         fprintf(stderr,"ERROR, no port provided\n");
         exit(1);
     }
     sockfd = socket(AF_INET, SOCK_STREAM, 0);
     if (sockfd < 0) 
        error("ERROR opening socket");
     bzero((char *) &serv_addr, sizeof(serv_addr));
     portno = atoi(argv[1]);
     serv_addr.sin_family = AF_INET;
     serv_addr.sin_addr.s_addr = INADDR_ANY;
     serv_addr.sin_port = htons(portno);
     if (bind(sockfd, (struct sockaddr *) &serv_addr,
              sizeof(serv_addr)) < 0) 
              error("ERROR on binding");
     listen(sockfd,5);
     clilen = sizeof(cli_addr);
     newsockfd = accept(sockfd, 
                 (struct sockaddr *) &cli_addr, 
                 &clilen);
     if (newsockfd < 0) 
          error("ERROR on accept");
     bzero(buffer,256);
     n = read(newsockfd,buffer,255);
     if (n < 0) error("ERROR reading from socket");
     printf("Here is the message: %s\n",buffer);
     n = write(newsockfd,"I got your message",18);
     if (n < 0) error("ERROR writing to socket");
     close(newsockfd);
     close(sockfd);
     return 0; 
}
Клиент.
 
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
 
void error(const char *msg)
{
    perror(msg);
    exit(0);
}
 
int main(int argc, char *argv[])
{
    int sockfd, portno, n;
    struct sockaddr_in serv_addr;
    struct hostent *server;
 
    char buffer[256];
    if (argc < 3) {
       fprintf(stderr,"usage %s hostname port\n", argv[0]);
       exit(0);
    }
    portno = atoi(argv[2]);
    sockfd = socket(AF_INET, SOCK_STREAM, 0);
    if (sockfd < 0) 
        error("ERROR opening socket");
    server = gethostbyname(argv[1]);
    if (server == NULL) {
        fprintf(stderr,"ERROR, no such host\n");
        exit(0);
    }
    bzero((char *) &serv_addr, sizeof(serv_addr));
    serv_addr.sin_family = AF_INET;
    bcopy((char *)server->h_addr, 
         (char *)&serv_addr.sin_addr.s_addr,
         server->h_length);
    serv_addr.sin_port = htons(portno);
    if (connect(sockfd,(struct sockaddr *) &serv_addr,sizeof(serv_addr)) < 0) 
        error("ERROR connecting");
    printf("Please enter the message: ");
    bzero(buffer,256);
    fgets(buffer,255,stdin);
    n = write(sockfd,buffer,strlen(buffer));
    if (n < 0) 
         error("ERROR writing to socket");
    bzero(buffer,256);
    n = read(sockfd,buffer,255);
    if (n < 0) 
         error("ERROR reading from socket");
    printf("%s\n",buffer);
    close(sockfd);
    return 0;
}
Добавлено через 59 секунд
хабру почитай
http://habrahabr.ru/post/195386/
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.07.2014, 15:43
Привет! Вот еще темы с ответами:

Подскажите что нужно знать - C++
Подскажите что нужно знать чтоб решить эту задачу Дано натуральное число N и последовательность A1, A2, ..., AN, AN. Определить...

Что нужно знать про STL? - C++
Всем добра, при поиске работы пишут что нужны хорошие знания по STL, может кто-нибудь конкрето сказать что нужно знать ? Контейнеры,...

Что же нужно знать программисту с математики - C++
Доброго времени суток! Прошу прощения, если такая тема уже была, не видел и в гугле найти ответ на этот вопрос не получилось. Уже месяц...

Создание простого приложения. Что нужно знать? - C++
Задача формулируется следующим образом: Изобразить на єкране лабиринт. По нему перемещается &quot;нечто&quot;. Перемещение управляется...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Yandex
Объявления
01.07.2014, 15:43
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru