Тайм-аут сервера / клиента MFC на разных компьютерах

У меня есть клиент и сервер, написанный на MFC с использованием Winsock. Они работают только тогда, когда они находятся на одном компьютере (т. Е. «127.0.0.1»), но как только я пытаюсь подключить клиента с другого компьютера, я получаю код ошибки 10060, который является ошибкой тайм-аута. Я не уверен, относится ли это к делу, но один компьютер подключен к домену (это школьный компьютер), а другой — в рабочей группе, поэтому не уверен, что они вызывают проблемы. Вот некоторый код, объекты сервера связаны с классом I, производным от CSocket.

клиент

if(client.Create() != true)
AfxMessageBox(L"FAILED");

UINT port = 200;
client.Connect(L"IP ADDRESS",port); //fails here
int msg = client.GetLastError();
CString c_msg;
c_msg.Format(L"%d",msg);
AfxMessageBox(c_msg); //displays error code

сервер

int i_port = 80;
server.Bind(server.Create(0,SOCK_STREAM,NULL)); // saw somewhere that i should bind the socket

if(server.Listen() == false)// if listen() fails
{
AfxMessageBox(L"Could not Listen on specified Port \n Please select a different one.");
server.Close();// close server
}
c_List.AddString(L"Server Listening");// notfiy user server is listening in ListBox

Функция принятия сервера

CString userIp; //string
CString u_Status("Connection made from IP Address:"); //string
UINT userPort = 0; //integer

if(server.Accept(client))// if server sucessfully accepts client then
{
client.GetSockName(userIp,userPort); // get client IP and Port number and assign to variables
u_Status = u_Status + userIp; // string additonListStatus = u_Status; // assigning local value to global string
conIp = true; // change boolean to true

}

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector