Форум программистов, компьютерный форум, киберфорум
C++: Сети
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Light Knight
106 / 29 / 5
Регистрация: 03.06.2010
Сообщений: 361
1

mail socket

21.07.2010, 12:28. Показов 789. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
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
#include "stdafx.h"
#include <iostream>
#include <windows.h>
#include <winsock.h>
#pragma comment(lib, "ws2_32.lib")
 
 
#define OK 0
#define FAIL 1
#define CONNECT_LOST1 2
#define CONNECT_LOST2 3
#define MSG_EMPTY 4
#define SOCKET_FAIL 5
 
#define MAX_LEN 100
 
#define PORT 110
#define _HOST "94.100.177.6"
 
using namespace std;
 
int SEND(SOCKET, char*);
int RECV(SOCKET, char*);
 
int _tmain(int argc, _TCHAR* argv[])
{
   setlocale(LC_ALL, "Russian");
   int ans = -5;   
   char GET_MSG[1024];
   WSAData WSData;
   WSAStartup(0x101,&WSData);
   SOCKET S = socket(AF_INET,SOCK_STREAM,0);
   sockaddr_in SA;
   SA.sin_family=AF_INET;
   SA.sin_port=htons(PORT);     
   SA.sin_addr.S_un.S_addr=inet_addr(_HOST);
   connect(S,(sockaddr*)&SA,sizeof(SA));   
   
   char SEND_MSG[1024];
   string quit = "QUIT";
while(1){
   cout << "->";
   strcpy(SEND_MSG,"");   
   strcpy(GET_MSG, "");
   scanf("%s", SEND_MSG);
   ans = SEND(S, SEND_MSG); 
   switch(ans){
          case FAIL: cout << "Server connection failed\n"; break;             
          case MSG_EMPTY: cout << "Message is empty\n"; break;         
         case CONNECT_LOST1: cout << "Server get empty message...\n"; break;
          case CONNECT_LOST2: cout << "Server connection lost...\n"; break;    
              case OK: 
           printf(GET_MSG);
             printf("\n");
          break;
   } 
   strcpy(SEND_MSG,"");   
   strcpy(GET_MSG, "");
    scanf("%s", SEND_MSG);
   ans1 = RECV(S, GET_MSG);   
   switch(ans){
          case FAIL: cout << "Server connection failed\n"; break;          
          case MSG_EMPTY: cout << "Message is empty\n"; break;
          case CONNECT_LOST1: cout << "Server send empty message...\n"; break;
          case CONNECT_LOST2: cout << "Server connection lost...\n"; break;
 
          case OK: 
           printf(GET_MSG);
             printf("\n");
          break;
   }
}   
 
 
   closesocket(S);
   WSACleanup();   
   cin.get();
   system("pause");
     return 0;
}
 
 
int SEND(SOCKET S,char* msg) {
 if(S == INVALID_SOCKET) return SOCKET_FAIL;
 if(S == NULL) return FAIL;
 if(strlen(msg) == 0) return MSG_EMPTY;
 int is_send; 
 if( (is_send = send(S, msg, sizeof(msg),MSG_DONTROUTE)) < 0)
      return CONNECT_LOST2;
 return OK;
}
 
int RECV(SOCKET S, char* msg) {
 if(S == INVALID_SOCKET) return SOCKET_FAIL;
 if(S == NULL) return FAIL;
 int read_bytes;
 if( (read_bytes = recvfrom(S, msg, sizeof(msg), 0, NULL, NULL)) < 0)      
      return CONNECT_LOST2; 
 if(read_bytes == 0) return MSG_EMPTY; 
 msg[ read_bytes ] = '\0';
     return OK;
}
сервер не принимает вторую команду, помогите исправить

Добавлено через 19 часов 3 минуты
актуально
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.07.2010, 12:28
Ответы с готовыми решениями:

socket.h
Ребят, помогите найти де мона скачать библиотеки... В часности интересует socket.h Хочу...

Socket C++
#pragma comment (lib, &quot;ws_32.lib&quot;) #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;stdio.h&gt;...

socket()
Во время создания сокета: socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); выдаёт ошибку: error...

socket и ip
Здравствуйте. На рабочей станции есть 2 внешних IP-адреса (сетевая карта одна). Есть-ли...

0
21.07.2010, 12:28
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.07.2010, 12:28
Помогаю со студенческими работами здесь

Socket
Здравствуйте. Подскажите пожалуйста как сделать соединение сервера, то есть запускаешь программу и...

Socket MFC
Доброе время суток! Подскажите как работать с socket'ами? Как отправлять и принимать данные с их...

udp socket
Вобщем Как узнать что udp порт открыт? tcp обязан ответить на соединение, но udp не принимает...

Socket, UTF-8
привет, подскажите пожалуйста как получать ответы с http сервера в нормальной кодировке? есть...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru