Hope everyone helps me!

Just starting out? Need help? Post your questions and find answers here.
TangLuQing
User
User
Posts: 11
Joined: Tue Apr 10, 2007 2:38 am

Hope everyone helps me!

Post by TangLuQing »

Hope everyone helps me to seek wrong , The problem is there .
Thank everyone!


sendto_() Return "-1"

WSAGetLastError_() Return "10022"

Code: Select all

Structure IP_HEADER
h_verlen.b
tos.b
total_len.w
ident.w
frag_and_flags.w
ttl.b
proto.b
checksum.w
sourceip.l
destip.l
EndStructure

Structure UDP_HEADER
sourceport.w
destport.w
udp_length.w
udp_checksum.w
EndStructure



Procedure.l checksum(*buffer,size.l)
While(size>1)
  MoveMemory(*buffer,@val.l,2)
  cksum.l=cksum.l+val
  *buffer=*buffer+2  
  size=size-2
Wend
If(size)
  MoveMemory(*buffer,@val.l,1)
  cksum=cksum+val
EndIf
cksum=(cksum>>16)+(cksum & $FFFF)
cksum=cksum+(cksum>>16)
ProcedureReturn ~cksum
EndProcedure

Procedure UDP(Ip.s,Port.l)

Define Wsa.WSADATA
Define *Wsa = @Wsa
Define pBuffer.s
Define ipHeader.IP_HEADER
Define udpHeader.UDP_HEADER
Define nBufferSize.l = 1024
Define pSendBuffer.s 
Define iTotalSize.l
Define iUdpCheckSumSize.l = 0
Define *ptr = AllocateMemory(nBufferSize+60)
Define ptr.l
Define SendSocket.l
Define Flag.l = 1
Define addr_in.SOCKADDR_IN


If WSAStartup_($101, *wsa) <> 0
   ProcedureReturn #Null
EndIf   

SendSocket = SOCKET_(#AF_INET,#SOCK_RAW,#IPPROTO_UDP) 
If SendSocket = #INVALID_SOCKET
   ProcedureReturn #Null
EndIf

#IP_HDRINCL = 2

If setsockopt_(SendSocket,#IPPROTO_IP,#IP_HDRINCL,@Flag,SizeOf(Flag)) = #SOCKET_ERROR
   ProcedureReturn #Null
EndIf




iTotalSize = SizeOf(ipHeader) + SizeOf(udpHeader)+ nBufferSize
ipHeader\h_verlen  = (4<<4)|(SizeOf(IP_HEADER)/4)
ipHeader\tos       = 0                             
ipHeader\total_len = htons_(iTotalSize)            
ipHeader\ident     = 0
ipHeader\frag_and_flags = 0                        
ipHeader\ttl       = 128                           
ipHeader\proto     = #IPPROTO_UDP                  
ipHeader\checksum  = 0                             
ipHeader\destIP    = inet_addr_(Ip)                
ipHeader\sourceIP  = inet_addr_("192.167.1.2")    




udpHeader\sourceport   = htons_(5444)
udpHeader\destport     = htons_(Port)                            
udpHeader\udp_length   = htons_(SizeOf(udpHeader) + nBufferSize) 
udpHeader\udp_checksum = 0                                       

 

ZeroMemory_(*ptr,nBufferSize + 60)
ptr = *ptr

MoveMemory(@ipheader\sourceip,ptr,SizeOf(ipheader\sourceip))
ptr = ptr + SizeOf(ipHeader\sourceIP)
iUdpCheckSumSize = iUdpCheckSumSize +  SizeOf(ipHeader\sourceIP)

MoveMemory(@ipHeader\destIP,ptr,SizeOf(ipHeader\destIP))
ptr = ptr + SizeOf(ipHeader\destIP)
iUdpCheckSumSize = iUdpCheckSumSize + SizeOf(ipHeader\destIP)

ptr = ptr + 1
iUdpCheckSumSize = iUdpCheckSumSize + 1

MoveMemory(@ipHeader\proto,ptr,SizeOf(ipHeader\proto))
ptr = ptr + SizeOf(ipHeader\proto)
iUdpCheckSumSize = iUdpCheckSumSize + SizeOf(ipHeader\proto)

MoveMemory(@udpHeader\udp_length,ptr,SizeOf(udpHeader\udp_length))
ptr = ptr + SizeOf(udpHeader\udp_length)
iUdpCheckSumSize = iUdpCheckSumSize + SizeOf(udpHeader\udp_length)

MoveMemory(@udpHeader,ptr,SizeOf(udpHeader))
ptr = ptr + SizeOf(udpHeader)
iUdpCheckSumSize = iUdpCheckSumSize + SizeOf(udpHeader)

pBuffer = Space(1024)
FillMemory_(@pBuffer,nBufferSize,65)
MoveMemory(@pBuffer,ptr,nBufferSize)
iUdpCheckSumSize = iUdpCheckSumSize + nBufferSize

udpHeader\udp_checksum = checksum(*ptr,iUdpCheckSumSize)
MoveMemory(@ipHeader,*ptr,SizeOf(ipHeader))
MoveMemory(@udpHeader,*ptr + SizeOf(ipHeader),SizeOf(udpHeader))
MoveMemory(@pBuffer,*ptr +SizeOf(ipHeader) + SizeOf(udpHeader),nBufferSize)



addr_in\sin_family = #AF_INET
addr_in\sin_port   = htons_(Port)
addr_in\sin_addr   = inet_addr_(Ip)

Debug sendto_(SendSocket,*ptr,iTotalSize,0,@addr_in, SizeOf(addr_in))
Debug WSAGetLastError_()
closesocket_(SendSocket)

EndProcedure


UDP("192.168.1.3",1228)
Last edited by TangLuQing on Thu May 03, 2007 9:59 pm, edited 2 times in total.
User avatar
netmaestro
PureBasic Bullfrog
PureBasic Bullfrog
Posts: 8451
Joined: Wed Jul 06, 2005 5:42 am
Location: Fort Nelson, BC, Canada

Post by netmaestro »

A rose, by any other name...
BERESHEIT
TangLuQing
User
User
Posts: 11
Joined: Tue Apr 10, 2007 2:38 am

Post by TangLuQing »

I just want to seek wrong
LuCiFeR[SD]
666
666
Posts: 1033
Joined: Mon Sep 01, 2003 2:33 pm

Post by LuCiFeR[SD] »

Every rose has it's thorn :P
User avatar
Fluid Byte
Addict
Addict
Posts: 2336
Joined: Fri Jul 21, 2006 4:41 am
Location: Berlin, Germany

Post by Fluid Byte »

May I ask what kind of programm you are making? Just curious...
Windows 10 Pro, 64-Bit / Whose Hoff is it anyway?
TangLuQing
User
User
Posts: 11
Joined: Tue Apr 10, 2007 2:38 am

Post by TangLuQing »

UDP Send out DATA
Num3
PureBasic Expert
PureBasic Expert
Posts: 2812
Joined: Fri Apr 25, 2003 4:51 pm
Location: Portugal, Lisbon
Contact:

Post by Num3 »

Fluid Byte wrote:May I ask what kind of programm you are making? Just curious...
It's something for the kids :lol:
TangLuQing
User
User
Posts: 11
Joined: Tue Apr 10, 2007 2:38 am

Post by TangLuQing »

the nobody know the problem? :?: [/quote]
LuCiFeR[SD]
666
666
Posts: 1033
Joined: Mon Sep 01, 2003 2:33 pm

Post by LuCiFeR[SD] »

TangLuQing wrote:the nobody know the problem? :?:
how can I put this simply... nobody CARES about your problem!

We simply do not trust you!

Unfortunately for you, everyone with even a remotely chinese sounding name or obvious translation software usage will just get EXACTLY the same sarcastic responses as you have just recieved.

Now... Over there, by the flower pot... do you see that door? Walk through it and close it quietly behind you.
Last edited by LuCiFeR[SD] on Thu May 03, 2007 10:23 pm, edited 1 time in total.
Brice Manuel

Post by Brice Manuel »

TangLuQing wrote:UDP Send out DATA
Why Data? Why not send out Geordi or Riker or Worf :?:
User avatar
Fluid Byte
Addict
Addict
Posts: 2336
Joined: Fri Jul 21, 2006 4:41 am
Location: Berlin, Germany

Post by Fluid Byte »

TangLuQing wrote:UDP Send out DATA
I don't ask what this snippet does but what kind of application you are developing. Image

@Brice Manuel:

By far the cheapest wordplay I have ever heard! Image
Windows 10 Pro, 64-Bit / Whose Hoff is it anyway?
TangLuQing
User
User
Posts: 11
Joined: Tue Apr 10, 2007 2:38 am

Post by TangLuQing »

Why does nobody help me
:?: :?: :?: :?: :?:
LuCiFeR[SD]
666
666
Posts: 1033
Joined: Mon Sep 01, 2003 2:33 pm

Post by LuCiFeR[SD] »

TangLuQing wrote:Why does nobody help me
:?: :?: :?: :?: :?:
Because we dont trust you! YES it is that simple :P
TangLuQing
User
User
Posts: 11
Joined: Tue Apr 10, 2007 2:38 am

Post by TangLuQing »

Why No trust me?
TangLuQing
User
User
Posts: 11
Joined: Tue Apr 10, 2007 2:38 am

Post by TangLuQing »

Difficult way I am wrong?
Post Reply