Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
[C++] ...просто играя с сокетами спткн...лся (teоретическое любопытство:) 09.06.01 01:07
Автор: Delimiter Статус: Незарегистрированный пользователь
|
можно и все смотреть но винсок кричит уже
Result 1st ASelect:10022 (строка помечена^^^)
//MSDN Some invalid argument was supplied (for example, specifying an invalid level to the setsockopt function). In some instances, it also refers to the current state of the socket - for instance, calling accept on a socket that is not listening.
//
// route1TCP ,route2TCP-SOCKETы
route1TCP=socket(PF_INET,SOCK_STREAM,IPPROTO_TCP);
SOCKADDR_IN ServAddr;
ServAddr.sin_family=AF_INET;
ServAddr.sin_addr.s_addr=INADDR_ANY;
ServAddr.sin_port=htons(m_ed17);
m=bind(route1TCP,(sockaddr *)&ServAddr,sizeof(ServAddr));
if(m!=0)
{
m_str1+=CString("Result 1st Bind:");
m_str1+=CString(itoa(WSAGetLastError (),mybuf2,10));
m_str1+=CString("\r\n");
}
else
{
m=WSAAsyncSelect(route1TCP,hwnd1,TCP_ROUTE_ACCEPT1,FD_ACCEPT);
^^^^^^^^^^^^ :)
if(m!=0)
{
m_str1+=CString("Result 1st ASelect:");
m_str1+=CString(itoa(WSAGetLastError (),mybuf2,10));
m_str1+=CString("\r\n");
}
listen(route1TCP,100);
}
route2TCP=socket(PF_INET,SOCK_STREAM,IPPROTO_TCP);
ServAddr.sin_family=AF_INET;
ServAddr.sin_addr.s_addr=INADDR_ANY;
ServAddr.sin_port=htons(m_ed18);
m=bind(route2TCP,(sockaddr *)&ServAddr,sizeof(ServAddr));
if(m!=0)
{
m_str1+=CString("Result 2nd Bind:");
m_str1+=CString(itoa(WSAGetLastError (),mybuf2,10));
m_str1+=CString("\r\n");
}
else
{
WSAAsyncSelect(route2TCP,hwnd1,TCP_ROUTE_ACCEPT2,FD_ACCEPT);
if(m!=0)
{
m_str1+=CString("Result 2nd ASelect:");
m_str1+=CString(itoa(WSAGetLastError (),mybuf2,10));
m_str1+=CString("\r\n");
}
listen(route2TCP,100);
|
|
[C++] ...просто играя с сокетами спткн...лся (teоретическое любопытство:) 09.06.01 04:48
Автор: kabanchik Статус: Незарегистрированный пользователь
|
интерестно, а во второй таз не ругается, т.е. при routeTCP2 ?
если у тебя точно такой код, то сделай поправку вот тут :
> WSAAsyncSelect(route2TCP,hwnd1,TCP_ROUTE_ACCEPT2,FD_ACCEPT) ; ^^^^^^^ надо так :
m = WSAAsyncSelect(route2TCP,hwnd1,TCP_ROUTE_ACCEPT2,FD_ACCEPT) ;
if (m != 0)
...................
если он тут ругнеться, то есть закономерность. какая, ща точно не могу сказать :-))) а если не ругнется, то у винсок крыша поехала :-)
сделай маленький полный работающий код со всеми инициализачиями и адресами и прочими фигнюшками, а то самому ща времени нет, можно даже без CString msg = ....., а я у себя прогоню.
если в вышеуказанном варианте ругнется, просто достаточно будет на 1 сокет проверить.
|
|
[C++] ...извиняюсь причина за рамками кода :)) 09.06.01 01:29
Автор: Delimiter Статус: Незарегистрированный пользователь
|
ну вот и поболтал..... :)
пора за работу...
|
|
|