TCPSERVER
Übersicht

![]() |
regaaBetreff: TCPSERVER |
![]() Antworten mit Zitat ![]() |
---|---|---|
Alsoooo, dieses Prog funzt local supaa, also bis auf das prob das windows an ienm desktop den zwei programmen je nachdem ob es aktiv ist verschiedene priorität zuweist, aber das ist ja nicht das prob, sondern viel mehr wenn ich die ip adresse abändere, auf die ip von jemandem der keine firewall laufen hat, und die server.exe dann geht das in die hose, und client.exe findet keine verbindung zur server.exe:
server: Code: [AUSKLAPPEN] Graphics 800,600,32,2 SetBuffer BackBuffer() svrGame=CreateTCPServer(8080) If svrGame<>0 Then Print "Server erfolgreich gestartet" Else Print "Server konnte nicht gestartet werden" EndIf Delay 1000 verbindung=0 While verbindung=0 strStream=AcceptTCPStream(svrGame) If strStream Then Print ReadLine$(strStream) verbindung=1 Else Print "Keine Daten vom Client..." verbindung=0 Delay 1000 EndIf Wend If verbindung=1 While Not KeyHit(1) command$=ReadLine$(strStream) If command$<>0 Color 255,255,255 Rect 0,0,800,600,1 Color 0,0,0 Print command$ Flip EndIf framer() Wend CloseTCPServer svrGame EndIf ; Eigene Functionen Function framer() ; != 100% auslastung + 60 frames startzeit=MilliSecs() herz=60 While (MilliSecs()-startzeit)<(1000/herz) Delay(10) Wend End Function client Code: [AUSKLAPPEN] Graphics 800,600,32,2 SetBuffer BackBuffer() strmGame=OpenTCPStream("217.235.189.159",8080) If strmGame<>0 Then Print "Client erfolgreich verbunden" Else Print "Konnte keine Verbindung herstellen" WaitKey End If While Not KeyHit(1) If MouseHit(1) Color 255,255,255 Rect 0,0,800,600,1 Color 0,0,0 WriteLine strmGame,"Dieser Text wird übermittelt..." Print "Daten gesendet..." EndIf framer() Wend CloseTCPStream strmGame End ; Eigene Functionen Function framer() ; != 100% auslastung + 60 frames startzeit=MilliSecs() herz=60 While (MilliSecs()-startzeit)<(1000/herz) Delay(10) Wend End Function Woran kann das liegen? |
||
![]() |
regaa |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich hab jetzt mal n UDP Messenger gebaut, total billig, und kopiert ist es auch noch, so das prob ist, das alle die zu mir was cshreiben , von denen kann ichdie nachricht lesen, aber wenn cih was cshreibe, dann geht das nicht, wieso? Und es psielt dabei keine Rolle wer das programm als erster startet.
Code: [AUSKLAPPEN] PRINT "Sample UDP Communications" Inp_Port=4000 Out_Port=4001 PRINT "LOCAL IP:" ip_count=COUNTHOSTIPS(GETENV("localhost")) For i=1 To ip_count If i=2 Then Print "Internet IP:" Print DottedIP(HostIP(i)) Next Print "Enter Destination IP#: xxx.xxx.xxx.xxx" Dest_IP$=Input$(">") IP= INT_IP(Dest_IP$) PRINT "" Print "Starting Chat. To quit press ESC" udp_rd=CreateUDPStream(Inp_Port) udp_wr=CreateUDPStream(Out_Port) Repeat byte1=GetKey() If byte1>0 Then If Byte1=13 Then WriteByte(udp_wr,byte1) SendUDPMsg udp_wr,IP,Inp_Port Else Write Chr(Byte1) WriteByte(udp_wr,byte1) SendUDPMsg udp_wr,IP,Inp_Port EndIf EndIf IP_rd=RecvUDPMsg(udp_rd) If IP_rd <> 0 Then Buflen=ReadAvail(udp_rd) If Buflen> 0 Then byte1=ReadByte(udp_rd) If byte1=13 Then Else Write "Nachricht:"+Chr$(byte1) EndIf EndIf EndIf If KeyDown(1) CloseUDPStream udp_wr CloseUDPStream udp_rd EndIf Forever Function INT_IP(IP$) a1=Int(Left(IP$,Instr(IP$,".")-1)):IP$=Right(IP$,Len(IP$)-Instr(IP$,".")) a2=Int(Left(IP$,Instr(IP$,".")-1)):IP$=Right(IP$,Len(IP$)-Instr(IP$,".")) a3=Int(Left(IP$,Instr(IP$,".")-1)):IP$=Right(IP$,Len(IP$)-Instr(IP$,".")) a4=Int(IP$) Return (a1 Shl 24) + (a2 Shl 16) + (a3 Shl 8 ) +a4 End Function |
||
BIG BUG |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Mit UDPMSGPORT kannst du nach dem Empfangen den verwendeten Port des Senders herausfinden.
Zumindest bei meinen Tests kam es hier vor, dass der in BB angegebene Port nicht immer mit dem tatsächlich verwendeten Port übereingestimmt hat. Vielleicht wurde er vom ISP umgebogen... Es reicht hier übrigens einen Port zu verwenden, ein extra in / out ist bei UDP nicht notwendig. |
||
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final) |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group