Nochmal Socket Problem (C)

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

 

Macintosh

Betreff: Nochmal Socket Problem (C)

BeitragDi, Jun 29, 2010 15:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi.. ich habe ein problem das ich mir nicht erklären kann... ich habe meine eigenen socketfunktionen, die C-funktionen benutzen.
Socket erstellen usw. funzt alles super, auch das senden von nachrichten, nur das empfangen von nachrichte will garnicht.

c-code:
Code: [AUSKLAPPEN]

int _mRecv( int s, char *buf, int size, int flags )
{   
   return recv(s, buf, size, flags);
}


meiner BMax methode:
BlitzMax: [AUSKLAPPEN]

Method Recv:Int( _buf:Byte Ptr, _size:Int, _flags:Int )

Return _mRecv( Self._socket, _buf, _size, _flags )

EndMethod


und mein BMax demo - code:
BlitzMax: [AUSKLAPPEN]

'--------
'M.SOCKET
'--------

Import "../msocket.c"
Include "../msocket.bmx"

'TCP socket
Local socket:MSocket = MCreateSocket( AF_INET, SOCK_STREAM, 0 )

socket.SetOptions( SOL_SOCKET, SO_REUSEADDR, 1, 4 )

socket.bind( 1234 )
socket.listen( 20 )

Local data:MSocket = socket.accept()

Local welcomeMsg:String = "Hey... u are cool!"
Local bbMsg:String = "Hmmm... BB!"

'send welcomeMsg
data.send( welcomeMsg.toCString(), welcomeMsg.length, 0 )

Local buff:Byte Ptr = MemAlloc( 1024 )
Local size:Int = 0

Repeat

size = data.recv( buff, 1024, 0 )

Until size


buff[ size ] = 0
Local rcvMsg:String = String.fromCString( buff )

Print( "Message: " + rcvMsg + " Size: " + size )

'send bbMsg
data.send( bbMsg.toCString(), bbMsg.length, 0 )

'close sockets
data.close()
socket.close()


der Type MSocket beinhaltet ein Feld namens _socket:int.

Danke

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group