Реферат: Разработка программы для обмена тестовыми сообщениями
{
// Контроль несанкционированного запуска сервера:
// Если кнопка не в состоянии нажатой,
// если сокет в работе (т.е. только с нулевым сокетом можно начинать работать),
// очень неудобно если в чате все будут под одинаковыми именами.
if(m_ButtonStartServer.GetCheck() != BST_CHECKED) return;
if(m_mainSocket.m_hSocket != INVALID_SOCKET) return;
if(QueryName() == false)
{
AfxMessageBox("ВВедите свое имя для чата!");
StopChat();
return;
}
CString strPort;
m_wndPort.GetWindowText(strPort);
// Класс CAsyncSocket упрощает процедуру создания сокета,
// вкладывая в функцию Create() непосредственное создание
// сокета и связывание его с одним из IP адресом доступном на компьютере.
// atoi конвертирует строку ansi to int
if(m_mainSocket.Create(atoi(strPort)) == FALSE)
{
AfxMessageBox("Ошибка создания сервера!\nВозможно данный порт уже используется!");
StopChat();
}
else
{
// Вводим сокет в режим прослушивания запросов на подключения.
if(m_mainSocket.Listen() == FALSE)
{