Heavy
написал 2 октября 2006 года в 21:28 (814 просмотра)
Ведет себя
как мужчина; открыл 55 тем в форуме, оставил 698 комментариев на сайте.
Посоветуйте, что почитать для написания сетевой проги на С/С++, которая запускается на двух компах в сети (что-то типа сетевого Сапёра :) ). Про то, как производить обмен пакетами по сети, как эти пакеты посылать, принимать и т.д.
Последние комментарии
- OlegL, 17 декабря в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
ecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.
Кури Стивенса. :))
Поконкретнее можно? (я уже план курил — не помогло))
W. Richard Stevens, UNIX network programming, vol. 1 and 2
Блин, а чё-нить попроще нет? (не в смысле что после плана тяжело, а в смысле что это по Всему, а мне надо по-видимому только несколько функций)
Кури Стивенса, это классика. Для начала хватит нескольких первых глав, где основы. Потом уже будешь углубляться :)
ОК, но где его взять? Идеи есть?
http://www.poiskknig.ru
1. Stevens R. Unix network programming vol.2 PH, 1999 564 p. English djvu, 5984 KB 10.6 KB/p. 300dpi OCR color
2. Stevens R. Unix network programming vol.1 PH, 1998 1011 p. English djvu, 10614 KB 10.5 KB/p. 300dpi OCR color
круто… Dark_SavanT, ссылка требует пароль, скажи, а :)
Ну не вижу я чего там пишут в окошке авторизации, кракозябры там.
eMule опять же…
У меня.
В бумажном виде.
На пару месяцев. )
Передам при первой возможности, мобыть, завтра-послезавтра.
С меня пиво. А Кнут у тебя есть? (тож хочу почитать) Может у тебя ещё что-то по Си/Си++ полезное завалялось?
Мож быть мне тогда на месяцок-другой кто-нть Страуструпа подгонит? :)
Приезжайте в Брест. Обеспечу всем в оригинале :)
Брест от питера как-то далековато, не находишь? :)
А кто говорил, что это будет просто? :))
Вот, собственно, попытка реализовать передачу/приём пакетов:
//MS visual c++ 7
#include «stdafx.h»
#include
#using
#using
using namespace System;
using namespace System::Text;
using namespace System::IO;
using namespace System::Net;
using namespace System::Net::Sockets;
int _tmain()
{
IPHostEntry* lipa = Dns::Resolve(S«192.168.228.128»);
IPEndPoint* lep = new IPEndPoint(lipa->AddressList[0], 139);
Socket* s = new Socket(lep->Address->AddressFamily,
SocketType::Stream,
ProtocolType::Tcp);
try {
s->Connect(lep);
} catch (Exception* e) {
Console::WriteLine(S"Exception Thrown: {0}», e);
}
Byte msg[] = Encoding::ASCII->GetBytes(«123»);
Console::WriteLine(Encoding::ASCII->GetString(msg));
// Blocks until send returns.
int i = s->Send(msg, SocketFlags::None);
Console::WriteLine(i);
// Blocks until read returns.
Byte bytes[] = new Byte[1024];
int j = s->Receive(bytes, SocketFlags::None);
Console::WriteLine(j);
//Displays to the screen.
Console::WriteLine(Encoding::ASCII->GetString(bytes));
s->Shutdown(SocketShutdown::Both);
s->Close();
Console::ReadLine();
return 0;
}
Айпишник указан мой, т.е. отправляю пакеты я сам себе.
Вопросы:
1) Почему отправляет байты нормально, а принимает всегда только 5?
2) Как мне из полученного пакета (типа unsigned char __gc[]) получить int?
Заранее спасибо за помощь
winsock2.h, да уж. Но даже если кто-то будет читать твой код для одной популярной ОС, ему не помешает знать, что у тебя в stdafx.h спрятано.
#include
#include