Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Сокет и ассоциативный массив |

27.02.2009, 14:34
|
|
Постоянный
Регистрация: 05.05.2006
Сообщений: 743
Провел на форуме: 2982851
Репутация:
107
|
|
Сокет и ассоциативный массив
Пытаюсь сохранять полученный дескриптор сокета в ассоциативный массив а потом извлекать его оттуда.Только вот ничего не получается
Код:
#include <map>
#include <winsock2.h>
#include <stdio.h>
#include <windows.h>
#include <conio.h>
#include <string>
using namespace std;
map <string,SOCKET> sbox;
DWORD WINAPI server(LPVOID lParam)
{
char ip[17];
SOCKET sin,sout;WSADATA wsd;
SOCKADDR_IN ladr,cadr;
WSAStartup(MAKEWORD(2,0),&wsd);
ladr.sin_family=AF_INET;
ladr.sin_port=htons(250);
ladr.sin_addr.s_addr=0;
sin=socket(AF_INET,SOCK_STREAM,0);
bind(sin,(sockaddr*)&ladr,sizeof(ladr));
//HANDLE mut=CreateMutex(NULL,false,"mymut");
for(;;)
{
listen(sin,10);
int sz=sizeof(cadr);
sout=accept(sin,(sockaddr*)&cadr,&sz);
Sleep(100);
getpeername(sout,(sockaddr*)&cadr,&sz);
wsprintf(ip,"%s",inet_ntoa(((SOCKADDR_IN *)&cadr)->sin_addr));
//WaitForSingleObject(mut,INFINITE);
sbox[string(ip)]=sout;
//ReleaseMutex(mut);
}
}
int main() //client connect here
{
DWORD id;SOCKET test;
char *buf=new char[1024*1024];
CreateThread(0,0,&server,0,0,&id);
getch();
test=sbox["127.0.0.1"];
for(;;)
{
recv(test,buf,1024*1024,0);
Sleep(500);
send(test,buf,strlen(buf),0);
}
}
Подскажите что не так?
|
|
|
|
Похожие темы
|
| Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
|
C# перевести массив байт
|
kusanagi |
С/С++, C#, Delphi, .NET, Asm |
8 |
21.02.2009 00:47 |
|
многомерный массив
|
barnaki |
PHP, PERL, MySQL, JavaScript |
8 |
24.01.2009 22:04 |
|
Не могу перевести сокет в режим promiscuous
|
xismyname |
С/С++, C#, Delphi, .NET, Asm |
19 |
25.12.2008 04:33 |
|
СОКЕТ
|
KPOT_f!nd |
PHP, PERL, MySQL, JavaScript |
6 |
21.09.2006 03:20 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|