PDA

Просмотр полной версии : Socket Nid HELP!!!


ronald
21.08.2008, 14:51
ку, у меня проблема, курю док по С++ и натыкаюсь на такое (Socket) объяснение корявое, что читать ток, с переводчиком на человеческий :), вот исходники:
-=СЕРВЕР=-
1 #include <sys/types.h>
2 #include <sys/socket.h>
3 #include <netinet/in.h>
4 #include <netdb.h>
5 #include <memory.h>
6 #define SRV_PORT 1234
7 #define BUF_SIZE 64
8 #define TXT_QUEST "Who are you?\n"
9 main () {
10 int s, s_new;
11 int from_len;
12 char buf[BUF_SIZE];
13 struct sockaddr_in sin, from_sin;
14 s = socket (AF_INET, SOCK_STREAM, 0);
15 memset ((char *)&sin, '\0', sizeof(sin));
16 sin.sin_family = AF_INET;
17 sin.sin_addr.s_addr = INADDR_ANY;
18 sin.sin_port = SRV_PORT;
19 bind (s, (struct sockaddr *)&sin, sizeof(sin));
20 listen (s, 3);
21 while (1) {
22 from_len = sizeof(from_sin);
23 s_new = accept (s, &from_sin, &from_len);
24 write (s_new, TXT_QUEST, sizeof(TXT_QUEST));
25 from_len = read (s_new, buf, BUF_SIZE);
26 write (1, buf, from_len);
27 shutdown (s_new, 0);
28 close (s_new);
29 };
30 }
-=КЛИЕНТ=-
1 #include <sys/types.h>
2 #include <sys/socket.h>
3 #include <netinet/in.h>
4 #include <netdb.h>
5 #include <memory.h>
6 #define SRV_HOST "delta"
7 #define SRV_PORT 1234
8 #define CLNT_PORT 1235
9 #define BUF_SIZE 64
10 #define TXT_ANSW "I am your client\n"
11 main () {
12 int s;
13 int from_len;
14 char buf[BUF_SIZE];
15 struct hostent *hp;
16 struct sockaddr_in clnt_sin, srv_sin;
17 s = socket (AF_INET, SOCK_STREAM, 0);
18 memset ((char *)&clnt_sin, '\0', sizeof(clnt_sin));
19 clnt_sin.sin_family = AF_INET;
20 clnt_sin.sin_addr.s_addr = INADDR_ANY;
21 clnt_sin.sin_port = CLNT_PORT;
22 bind (s, (struct sockaddr *)&clnt_sin, sizeof(clnt_sin));
23 memset ((char *)&srv_sin, '\0', sizeof(srv_sin));
24 hp = gethostbyname (SRV_HOST);
25 srv_sin.sin_family = AF_INET;
26 memcpy ((char *)&srv_sin.sin_addr,hp->h_addr,hp->h_length);
27 srv_sin.sin_port = SRV_PORT;
28 connect (s, &srv_sin, sizeof(srv_sin));
29 from_len = recv (s, buf, BUF_SIZE, 0);
30 write (1, buf, from_len);
31 send (s, TXT_ANSW, sizeof(TXT_ANSW), 0);
32 close (s);
33 exit (0);
34 }
-=ВОПРОС=-
Как видно они только выводят по фразе типа, "ЗАЯЦ, ТЫ МЕНЯ СЛЫШИШЬ?"
Нужна помощь, как отредактировать, чтобы можно было редактировать сообщения, чтоб можно было запустить сервер на одном компе в локалке, чтоы остальные компы к нему коннектились и балтали+ чтобы огран)) интерфейс консол канешно же чтобы ограничивалось не одниv сообщеним, а кучей++++++++++ за помощь

ronald
21.08.2008, 16:06
жду помощи.... жду....