Здравствуйте Аноним, вы писали:
A>>>Получаю ошибку — WSAEWOULDBLOCK The socket is marked as nonblockin A>>>Понятно всё кроме того где я могу изменить тип сокета с nonblocking. S>>Есть такая функция у CAsyncSocket S>>BOOL IOCtl( long lCommand, DWORD* lpArgument ); S>>так вот, если в параметре lCommand указать FIONBIO и в lpArgument передать указатель на DWORD в котором надо указать 0 если хотите, что бы снять blocking или 1 для установки оного
А>У меня таже проблема. Пишу:
А>DWORD par = 1; А>m_sSocket.IOCtl(FIONBIO, &par);
А>m_sSocket.Create();
А>if(m_sSocket.Connect("localhost", 4000)) А> MessageBox("Connect!!!"); А>else А> MessageBox("error!");
А>Всегда выскакивает error! В чем беда?
Попробуй так:
m_sSocket.Create();
m_sSocket.AsyncSelect(0)
DWORD par = 0;
m_sSocket.IOCtl(FIONBIO, &par);
int i=m_sSocket.Connect("localhost", 4000);
if(i!=WSAECONNREFUSED) MessageBox("error!");