|
|
ru.nethack- RU.NETHACK ------------------------------------------------------------------- From : Denis Moujjoukhin 2:5018/5 15 Jun 2003 00:17:08 To : All Subject : что не так? --------------------------------------------------------------------------------
компилю нижеследующее на:
Borland C++ 5.5 for Win32 Copyright (c) 1993, 2000 Borland
после запуска, по GetLastError получаю сообщение:
"Требуемый адрес для своего контекста неверен". Win2000. В чем проблема? если
ли нормальный компилятор, с готовыми заголовками iphdr и udphdr?
#include <stdio.h>
#include <winsock2.h>
#include <ws2tcpip.h>
typedef struct mypacket {
// ip header
int ver:4;
int ihl:4;
int tos:8;
int tot_len:16;
int id:16;
int flags:3;
int frags:13;
int ttl:8;
int protocol:8;
int crc:16;
unsigned long saddr:32;
unsigned long daddr:32;
// udp header
unsigned long source:32;
unsigned long dest:32;
unsigned long len:32;
unsigned long udp_crc:32;
// message on-boadr
char msg[1000];
} mypacket;
void beep (char *msg) {
MessageBox (0, msg, myname, MB_ICONSTOP);
exit(0);
}
void main() {
SOCKET s;
WSADATA wsa;
int sfdo=1;
struct mypacket pkt;
struct sockaddr_in sin;
if (WSAStartup (0x101, &wsa)!=0)
beep ("No winsock");
s=socket(AF_INET, SOCK_RAW, IPPROTO_RAW);
if (s==INVALID_SOCKET)
beep ("socket (raw)");
if (setsockopt(s, IPPROTO_IP, IP_HDRINCL, (const char *)&sfdo,
sizeof(sfdo))!=0)
beep ("IP_HDRINCL failure");
memset (&pkt, 0, sizeof(pkt));
strcpy (pkt.msg, "123");
// fill packet
pkt.source=htons(666);
pkt.dest=htons(8160);
pkt.len=htons(20+strlen(pkt.msg));
pkt.ver=4;
pkt.ihl=5;
pkt.tos=0;
pkt.tot_len=htons(28+strlen(pkt.msg));
pkt.frags=0;
pkt.id=htons(random(255));
pkt.ttl=30;
pkt.protocol=IPPROTO_UDP;
pkt.saddr=inet_addr("192.168.4.8");
pkt.daddr=inet_addr("192.168.1.2");
sin.sin_family=AF_INET;
sin.sin_port=htons(8160);
sin.sin_addr.s_addr=inet_addr("192.168.4.8");
sfdo = sendto (s, (char *)&pkt, 28+strlen(pkt.msg), 0, (struct sockaddr *)
&sin, sizeof(sin));
if (sfdo==SOCKET_ERROR)
beep("can't send anything");
closesocket (s);
WSACleanup();
}
IstrAlien
--- GoldEd d2.50+
* Origin: :: Mushroom Factory :: (2:5018/5)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.nethack/175653eebbc0a.html, оценка из 5, голосов 10
|