Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 07.12.2009
Сообщений: 58

Отправка сообщений

23.11.2010, 15:18. Показов 741. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите исправить ошибку в оправке сообщения.
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
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
#include "winsock2.h"
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
 
SOCKET S,S1;
struct sockaddr_in SSA;
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
        //Этап №1 Подключение библиотеки
        WSADATA MyWSAData;
        int ErrWSADATA;
        if (WSAStartup(MAKEWORD(2,0), &MyWSAData)!=0)
        {
                Memo1->Lines->Add("Ошибка в библиотеки");
        }
        else
        {
                Memo1->Lines->Add("Библиотека Работает");
                //Этап №2 Создание сокета
                S=socket(AF_INET, SOCK_STREAM, IPPROTO_IP);
                if (S==INVALID_SOCKET) Memo1->Lines->Add("Ошибка в Сокете");
                else  Memo1->Lines->Add("Сокет создан");
        }
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button2Click(TObject *Sender)
{
        //Этап №3 Привязка адреса к сокету (Создание сервера)
        //struct sockaddr_in SSA;
        SSA.sin_family=AF_INET;
        SSA.sin_port=htons(2000);
        SSA.sin_addr.s_addr=INADDR_ANY;
        int ErrBind;
        ErrBind=bind(S,(LPSOCKADDR)&SSA,sizeof(SSA));
        if (ErrBind!=0) Memo1->Lines->Add("Ошибка в привязке адреса");
        else
        {
                Memo1->Lines->Add("Привязка адреса");
                int P;
                P=listen(S, SOMAXCONN);//Сервер ожидает подключения клиента.
                if (P!=0) Memo1->Lines->Add("Ошибка в Listen");
                else
                {
                        //int p;
                        Memo1->Lines->Add("Listen работает");
                        S1=accept(S,NULL, NULL);
                        if (S1==INVALID_SOCKET) Memo1->Lines->Add("Клиент не присоединился");
                        else Memo1->Lines->Add("Клиент присоединился");
                        char A[50];
                        while (recv(S,A,sizeof(A),0)!=SOCKET_ERROR)
                        {
                                Memo1->Lines->Add(A);
                                send(S1,A,sizeof(A),MSG_DONTROUTE);
                        }
                }
        }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
        struct sockaddr_in SSA;
        SSA.sin_family=AF_INET;
        SSA.sin_port=htons(2000);
        SSA.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");
        Memo1->Lines->Add("Привязка адреса");
        int ErrCon;
        ErrCon=connect(S, (struct sockaddr*)&SSA,sizeof(struct sockaddr));
        if (ErrCon!=0) Memo1->Lines->Add("Не могу соединиться с сервером");
        else
        {
                Memo1->Lines->Add("соединился с сервером");
                char A[50];
                send(S,"Privet",sizeof("Privet"),MSG_DONTROUTE);
                while (recv(S,A,sizeof(A),0)!=SOCKET_ERROR)
                {
                        Memo1->Lines->Add(A);
                        send(S1,A,sizeof(A),MSG_DONTROUTE);
                }
        }
}
//---------------------------------------------------------------------------
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.11.2010, 15:18
Ответы с готовыми решениями:

Отправка сообщений
Вот написал программу для отправки сообщений на электронную почту, все работает но русские буквы не передаются они заменяются вопросами...

Отправка сообщений на почту
Добрый день! Была поставлена задача написать программу, которая будет отправлять на почту сообщения и файлы. Облазил много форумов,...

Отправка сообщений на e-mail
Здравствуйте! Мне необходимо отправить сообщение на почту. Нашел пример с компонентами IdSMTP1 и IdMessage1. Пример довольно короткий, но...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.11.2010, 15:18
Помогаю со студенческими работами здесь

HWND и отправка им сообщений.
Здравствуйте, я начал изучать язык C++. А также начал обучение для работы с C++ Borland 6. Неддавно покопался в нете и почитал о HWND....

Отправка множества сообщений на mail.ru
Посылатор сообщений через мыло. В идеале - программа должны отправлять несколько писем подряд Что есть Код логина.(логинов несколько,...

Отправка сообщений окнам: использование функции FindWindow()
я создаю копии приложения с разными именами, и мне надо каждому отправлять пользовательские сообщения, как мне находить эти окна через...

Отправка сообщений на Email из Code Gear RAD studio 2007 C++ Builder
Здравствуйте, возникла необходимость в отправке на email сообщения с 3 мя вложенными изображениями. порывшись по форуму нашёл массу...

Отправка сообщений
Здравствуйте. Есть ли у кого код на ЧИСТОМ с++ который отправляет письмо на почту-это пока) если разберусь с кодом то доработаею. Самого...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru