Serverprobleme

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
captain third
Beiträge: 194
Registriert: 12.12.2004 13:14
Kontaktdaten:

Beitrag von captain third »

danke kid,des war serh hilfreich,bin ein schritt weitergekommen.nur bei dem fehler,da hät ich ewig suchen können.so nun ne andre frage <) un zwa,jeder spricht davon "Der buffer mus entleert werden" naja tu ich doch oder etwa nicht? freememory(buffer) oder nicht? oder hab ichs falsch hingesetzt?
tranquil
Beiträge: 117
Registriert: 22.09.2004 22:07
Kontaktdaten:

Beitrag von tranquil »

dieses thema wurde im englischen forum schon oft behandelt. hier gibt es infos zu einem simplen chatserver/client:

http://purebasic.myforums.net/viewtopic ... highlight=

Mike
Benutzeravatar
captain third
Beiträge: 194
Registriert: 12.12.2004 13:14
Kontaktdaten:

Beitrag von captain third »

darf ich mal ehrlich sein? ich hab da net durchgeblickt.... :o zu hoch für mich :freak: naja,kann es mir bitte einer für ganz bekloppte erklärn???(den spruch musste ich schon oft loslassen... :mrgreen: )
tranquil
Beiträge: 117
Registriert: 22.09.2004 22:07
Kontaktdaten:

Beitrag von tranquil »

vielleicht setzt du deine ziele am anfang schon etwas zu hoch!? Fang doch erstmal mit etwas anderem an um Fuß zu fassen.

Nur so als Tipp. Aber ansonsten werde ich mir morgen die Zeit nehmen und das mal erklären.
Benutzeravatar
captain third
Beiträge: 194
Registriert: 12.12.2004 13:14
Kontaktdaten:

Beitrag von captain third »

mmh,naja,nun,also,äääähm

ich dachte einen chat zu machen,auf console() ist einfach,naja das da seine schwirigkeiten ind ist klar,aber so insgesammt find ich es einfach,ich hab mir auch die hilfe durchguggn müssn um den server und den clienten zu schreiben,ein paar tutorials habsch mia au durchglesn,früher hab ich ja auch ein bisschen BB3D gekonnt,oderBBP,manchmal hat ich auch langeweile und hab mich an Qbasic rangemacht,naja jetzt ist halt purebasic an die reihe,und mir gefällts :mrgreen: aber jemanden der mir so einiges erklärn kann wär mir natürlich lieber :mrgreen: :mrgreen: :mrgreen:
Benutzeravatar
ChaOsKid
Beiträge: 66
Registriert: 29.08.2004 15:07
Wohnort: Oktoberfest

Beitrag von ChaOsKid »

@tranquil
ich finde so ein chat is doch ein guter anfang

@captain third
des wird schon ;)
den speicher musst du doch nicht leeren.
das problem entsteht bei PeekS(*Buffer) (ohne länge)
da ReceiveNetworkData() kein chr(0) am ende des empfangenen strings setzt, nimmt peeks() noch ein stück von einer alten längeren nachricht mit.
wenn du jetzt aber PeekS(*Buffer,BufferLength) benutzt, dann geht es problemlos.
BufferLength ist das ergebnis von ReceiveNetworkData

anhang:
momentan machst du es ja so:

Code: Alles auswählen

*Buffer = AllocateMemory(1000)
Repeat
  ;ReceiveNetworkData() hier wird der speicher nie gelöscht nur überschrieben
  Delay(100)
ForEver
FreeMemory(*Buffer)
wenn du aber immer mit einem frischen leeren speicher arbeiten willst, dann würde ich es so machen:

Code: Alles auswählen

Repeat
  *Buffer = AllocateMemory(1000)
  ;ReceiveNetworkData() hier sind nur nullen im speicher
  Delay(100)
  FreeMemory(*Buffer) 
ForEver
keine ahnung welche technik besser ist....
beim nicht löschen sind es auf jeden fall weniger befehle in der hauptschleife, drum denke ich das es schneller ist.

mfG
Tobi
Benutzeravatar
captain third
Beiträge: 194
Registriert: 12.12.2004 13:14
Kontaktdaten:

Beitrag von captain third »

hihi danke du hast recht,gleich viel besser mit geleertem speicher :mrgreen:
tranquil
Beiträge: 117
Registriert: 22.09.2004 22:07
Kontaktdaten:

Beitrag von tranquil »

ReceiveNetworkData() gibt nicht in jedem Fall die anzahl der empfangenen Bytes zurück!

Ab und an kommt da auch ein #SOCKET_ERROR, was aber durchaus normal sein kann. Mit wsagetlasterror_() muss dann ermittelt werden was geschehen ist.

Im übrigen ist das nicht nur bei ReceiveNetworkData so. SendNetworkData() gint auch #Socket_Error zurück wenn was nicht so geklappt hat wie es sollte. Ansonsten gibt es die gesendeten Bytes zurück.
Benutzeravatar
captain third
Beiträge: 194
Registriert: 12.12.2004 13:14
Kontaktdaten:

Beitrag von captain third »

achsoooo :shock: cool :mrgreen:
Benutzeravatar
captain third
Beiträge: 194
Registriert: 12.12.2004 13:14
Kontaktdaten:

Beitrag von captain third »

mmmh,ich wollt mal fragen wie man die ganze console in einer farbe bekommt,also nicht wie jetze ConsoleColor(schriftfarbe,Hintergrundschriftfarbe) wenn ihr versteht was ich meine,ich möchte das die ganze console ne andere farbe bekommt,geht das irgendwie?
Antworten