WWW.ИСХОДНИКИ.РУ cpp.sources.ru
java.sources.ru web.sources.ru soft.sources.ru
jdbc.sources.ru asp.sources.ru api.sources.ru

  Форум на исходниках
  C / C++ / Visual C++
  Вопросик про сокеты ...

СПРОСИТЬ  ОТВЕТИТЬ
профайл | регистрация | faq

Автор Тема:   Вопросик про сокеты ...
purpe опубликован 05-06-2001 16:28 MSK   Click Here to See the Profile for purpe   Click Here to Email purpe  
вот наткнулся на функции следующего рода:

char *inet_ntoa(unsigned long cp)
{
static char Buffer[16];
int j, NrDig = 0;

for (j = 0; j < 4; j++) {
NrDig += sprintf(Buffer + NrDig, "%d%s", ((BYTE *)&cp)[j], (j == 3) ? "" : ".");
}
Buffer[NrDig] = '\0';
return Buffer;
}


int sendto(SOCKET s, char *msg, int len, int flags,
struct sockaddr *to, int tolen)
{
SO_ADDRESS ToAddress;
DATALINK *DataBuf;
int ErrCode;

if (!LOCPORTBOUND(((struct _socket *)s))) {
return NOTBOUND;
}

if (tolen != sizeof(struct sockaddr_in)) {
return ILLADDSIZE;
}
if ((ErrCode = ((struct _socket *)s)->So_Error) != NOERR) {
((struct _socket *)s)->So_Error = NOERR;
return ErrCode;
}

if ((DataBuf = IPDataLinkGet(len)) == NULL) {
IPReport(NOSPACE, NULL, NULL);
return NOBUFS;
}

DataBuf->ThisType = DATAHD;
memcpy(DataBuf->DataStart, msg, len); /* copy message from user space */

ToAddress.Port = ntohs(((struct sockaddr_in *)to)->sin_port);
ToAddress.IPAddress = ((struct sockaddr_in *)to)->sin_addr.s_addr;

return (*(((struct _socket *)s)->So_Prot->UserReq))
(PRU_SENDTO, s, DataBuf,
&(((struct _socket *)s)->So_LocAdd), &ToAddress);
}


енто случаем не те самые, которые мы хорошо знаем ? :)

lamo опубликован 09-06-2001 00:16 MSK     Click Here to See the Profile for lamo  Click Here to Email lamo     
а вам не кажется, коллега, шо этот код
довольно жирноват для сис. функций =)?


зы. посмотрите плиз сырцы юниха.

СПРОСИТЬ  ОТВЕТИТЬ
Перейти:


E-mail | WWW.ИСХОДНИКИ.RU

Powered by: Ultimate Bulletin Board, Freeware Version 5.10a
Purchase our Licensed Version- which adds many more features!
© Infopop Corporation (formerly Madrona Park, Inc.), 1998 - 2000.