![]() |
|
Модераторы: bsa |
![]()
|
|
| gud |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 23.7.2008 Репутация: нет Всего: нет |
послаю такую строку через сокет char St[7]="123455"; принимаю массив char * pBufferRecv; просматриваю: int int1,int2.....; int1 = pBufferRecv[0]; int2 = pBufferRecv[1]; int3 = pBufferRecv[2]; и получается int1 = -13312, int2 = -13096, int3 = -13305, int4 = -13304, int5 = -13312 .... мне надо проверить что пришла начальная строка, непойму как это сделать и что эти числа значат,в каком формате? подскажите пожалйста |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
попробуй сделать так:
|
|||
|
||||
| Ches |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 84 Регистрация: 19.8.2008 Репутация: нет Всего: 3 |
Было бы неплохо непосредственно код приема посмотреть
|
|||
|
||||
| gud |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 23.7.2008 Репутация: нет Всего: нет |
не помогло, все также
Добавлено через 7 минут и 15 секунд вот поток на чтение HLOCAL hBufferRecv; TCHAR * pBufferSend; __int32 sizeBufferRecv; __int32 sizeRecv; SOCKET my_sock; my_sock=((SOCKET *) sock_et)[0]; sizeBufferRecv=7; hBufferRecv=LocalAlloc(LHND,sizeBufferRecv+1); pBufferRecv=(TCHAR *)LocalLock(hBufferRecv); ZeroMemory(pBufferRecv,sizeBufferRecv); if((sizeRecv=recv(my_sock,pBufferRecv,65535,0))==SOCKET_ERROR) {if (WSAGetLastError()!=WSAEWOULDBLOCK) { int g; char buf_g[10]; g=WSAGetLastError(); itoa(g,&buf_g[0],10); MessageBox(0,&buf_g[0],"Server_RECV",MB_OK); } } else {MessageBox(0,"OK","Server_RECV",MB_OK);} int1 = (pBufferRecv[0]); int2 = (pBufferRecv[1]); int3 = (pBufferRecv[2]); ... LocalUnlock(hBufferRecv); LocalFree(hBufferRecv); _endthreadex(0); return 0; |
|||
|
||||
| andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 10 Всего: 33 |
gud, Ну кто же так код выкладывает! Где начало, где конец? Не ясно!
-------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
| gud |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 23.7.2008 Репутация: нет Всего: нет |
это была функция
unsigned __stdcall ReadThread(void * sock_et) она вызывается из этой функции unsigned ReadSocket(SOCKET sock) { MySock = sock; _beginthreadex(NULL,0,&ReadThread,&MySock,0,&thId1); return 0; } и перед этим обработка событий: LRESULT CALLBACK Serv(HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM lParam) { SOCKET mySocket; switch (uMsg) { case WM_INITDIALOG: int res; char buf[10]; if (res=ClientInit(hwnd)==-1) {EndDialog(hwnd,0);} return TRUE; case WM_CLOSE: MessageBox(0,"WM_CLOSE","Client",MB_OK); ClientStop();EndDialog(hwnd,0); return TRUE; case WM_VClient: switch (WSAGETSELECTEVENT( lParam )) { case FD_CONNECT: MessageBox(0,"Cоединение с сервером установлено","Client",MB_OK); Client_First_Connect = true; break; case FD_CLOSE: MessageBox(0,"Cоединение закрыто","Client",MB_OK); shutdown(hSocket,SD_BOTH); closesocket(hSocket);WSACleanup(); return TRUE; case FD_WRITE: MessageBox(0,"Отправлен запрос","Client",MB_OK); break; case FD_READ: MessageBox(0,"Есть ответ от сервера","Client",MB_OK); ReadSocket((SOCKET)wParam); break; } return TRUE; } return 0; } и в начале создание сокета сервера unsigned ServerInit(HWND hWin) { WORD wVersionRequested; WSADATA wsaData; int err; int g; char buf_g[10]; wVersionRequested = MAKEWORD(1,1); err = WSAStartup( wVersionRequested, &wsaData ); if (err != 0 ) {return -1;} if (LOBYTE( wsaData.wVersion ) != 1 ||HIBYTE( wsaData.wVersion ) != 1 ) { WSACleanup(); return -1;} hSocket_Server = socket (AF_INET,SOCK_STREAM,IPPROTO_TCP); if (hSocket_Server == -1) {WSACleanup(); return -1;} servaddr.sin_family=AF_INET; servaddr.sin_addr.s_addr = INADDR_ANY; servaddr.sin_port=htons(1226); if (bind(hSocket_Server,(sockaddr*)&servaddr,sizeof(servaddr))==SOCKET_ERROR) { g=WSAGetLastError(); itoa(g,buf_g,10);shutdown(hSocket_Server,SD_BOTH); closesocket(hSocket_Server); WSACleanup(); } if (listen(hSocket_Server,SOMAXCONN) == SOCKET_ERROR) {g=WSAGetLastError(); itoa(g,buf_g,10);shutdown(hSocket_Server,SD_BOTH); closesocket(hSocket_Server); WSACleanup();} if (WSAAsyncSelect(hSocket_Server,hWin,WM_VServer,FD_ACCEPT|FD_CLOSE|FD_WRITE|FD_READ)==SOCKET_ERROR) {g=WSAGetLastError(); itoa(g,buf_g,10);closesocket(hSocket); WSACleanup(); return -1;} return 0; диалог: unsigned __stdcall MainThread_Server(void * Params) { MSG msg; hDialog=CreateDialog((HINSTANCE)hInstance,MAKEINTRESOURCE(IDD_DIALOG),0,(DLGPROC)Serv); ShowWindow(hDialog, SW_HIDE); } и все это в потоке: _beginthreadex(NULL,0,&MainThread_Server,NULL,0,&thId); чот нет никаких предложений(((((( |
|||
|
||||
| gud |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 23.7.2008 Репутация: нет Всего: нет |
вообщет разобрался немного
если полученное сложить с числом 13312 то получаются какраз аски коды например "1" прихоит -13263,если сложить с 13312 то будет 49 и другие символы тож совпадают тока что почему откуда мне непанятно |
|||
|
||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 19 Всего: 306 |
gud, возможно есть смысл учесть сетевой порядок байт.
см. здесь имхо и исользуй кнопку код - не удобно смотреть че ты наваял. |
|||
|
||||
| gud |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 23.7.2008 Репутация: нет Всего: нет |
ок исправлюс, всем спс. пока вопрос закрыт
|
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |