PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : MASM winsocket send Problem



IRET
16.08.2010, 18:01
Hi
Ja hab mich mal dran gesetzt und einen IRC-Clienten von C nach MASM portiert.
War auch schön usw.
Nur beim Anmelden gibt es jetzt Probleme.
Die 2 Strings die versendet werden passen (hab sie in C getestet).
Nur es kommt eben nur ein Timeout.
Daher denke ich dass die Strings falsh gesendet werden.

Hier mal die Definition von den 2 Strings:

.data
.....
szNick db "NICK nick\r\n",0
szUser db "USER nick localhost 127.0.0.1 name\r\n",0

Und der Auffruf der Sends.

.code
.....
invoke send,s1,addr szNick,sizeof szNick,0
.if eax == SOCKET_ERROR
invoke MessageBox,NULL,CTXT("send1"),CTXT("Error"),MB_ICONERROR
invoke ExitProcess,0
.endif
invoke send,s1,addr szUser,sizeof szUser,0
.if eax == SOCKET_ERROR
invoke MessageBox,NULL,CTXT("send2"),CTXT("Error"),MB_ICONERROR
invoke ExitProcess,0
.endif

Die Verbindung passt (da krieg ich die 2 1. Zeilen rein).

Ich hoffe ihr könnt mir helfen :)

EBFE
16.08.2010, 19:34
So auf Anhieb:
SizeOf gibt die größe samt der 0 an. D.h dass die 0 bei dir mitgesendet wird ;)
Ansonsten kommst du wohl nicht drumherum, mehr Code zu posten ;)

IRET
16.08.2010, 21:32
Ich hab dem Fehler.
MASM kennt keine Esquape-Sequenzen und daher muss ich \r\n mit 13,10 ersetzen.
Danke dir trotzdem. :)