Autor Beitrag
donjubs
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Di 24.10.06 16:28 
hallo

ich hab ne frage wegen sockets.. ich bau ne verbindung zu nem irc server über TcpClient auf und bekomm dann auch ne antwort, aber nich alle antworten.


ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
// ich versuch das über ne klasse zu machen
// _tcpclient is nen TcpClient
// _tcpread nen NetworkStream
                _tcpclient = new TcpClient();
                _tcpclient.Connect(_ircadress, _ircport);
                _tcpread = _tcpclient.GetStream();
                byte[] bytes = new byte[_tcpclient.ReceiveBufferSize];
                _tcpread.Read(bytes, 0, (int)_tcpclient.ReceiveBufferSize);
                string returndata = Encoding.UTF8.GetString(bytes);
                statuswindow.Text = statuswindow.Text + returndata;
// das read hab ich mir aus der msdn library rausgesucht



was ich bekomm:
NOTICE AUTH :*** Looking up your hostname

was ich bekommen sollte:
NOTICE AUTH :*** Looking up your hostname
NOTICE AUTH :*** Found your hostname, cached
NOTICE AUTH :*** Checking Ident < und dann müsste ich die erste antwort senden

wie bekomm ich alle messages vom server?

btw das irc protokoll an sich is mir bekannt, hab das auch schonma in delphi gemacht (dort gabs nen event das immer getriggert ist, wenn ne message vom server kam, ich weiß halt nich wie das in c# funktioniert :( )
nochma zum verständnis: die messages kommen vom server ganz kurz zeitlich versetzt so dass ich praktisch so was wie tcplistener brauche der alles ankommende abhört und verarbeitet aber tcplistener wäre hier ja falsch..

btw es müsste sich bestimmt irgendwie mit Thread.sleep und _tcpread.datavailable machen lassen aber ich kriegs nich hin. falls wer ne idee hat bitte posten ;D

mfg