ubuntuusers.de

C/C++ Socket

Status: Ungelöst | Ubuntu-Version: Ubuntu
Antworten |

redbullimus

Anmeldungsdatum:
9. Januar 2007

Beiträge: 18

Beschriebung: soll für uni TCP Cleint Server Chat-Programm schreiben in C/C++

a) Hab eine Vorabversion wo der Server komplet vertig ist und ein Test-Client → lief → hab sofort gesichert mit den ausführbaren Dateien

b) Client erweitert → kompiliert & gelinkt OK-> server start dann client start → Problem: Fehler beim accept
. . . OK Sicherung her nicht komp. und gelinkt , sondern sofort ausführbare Datei gestartet → selbe Problem

!!!benutze C bibliotecken im C++ Code und kompiliere auch mit g++ aber hatte bis jetzt keine probleme

Ich verstehe die Programmierwelt nicht mehr 😠

woran kann das liegen?
sogar meine neue version vom Client lief aber heute läufts nicht mehr.

Lunar

Anmeldungsdatum:
17. März 2006

Beiträge: 5792

Kein Code, keine näheren Infos über die Testumgebung, keine Fehlermeldungen, bleibt also nur die Glaskugel:
Du hast vielleicht den Server auf der falschen Netzwerkschnittstelle lauschen lassen, die falsche Daten gesendet, oder vielleicht bei der Erzeugung des Sockets falsche Parameter angegeben. Genauer gehts ohne mehr Infos nicht, sorry.

hackepeter

Avatar von hackepeter

Anmeldungsdatum:
8. Januar 2006

Beiträge: 185

Wohnort: München

redbullimus hat geschrieben:

Beschriebung: soll für uni TCP Cleint Server Chat-Programm schreiben in C/C++
...
Ich verstehe die Programmierwelt nicht mehr 😠

woran kann das liegen?
sogar meine neue version vom Client lief aber heute läufts nicht mehr.

Beliebtes Problem hier: der Socket den du im ersten Programmlauf verwendet hast ist nach Programmende eventuell noch offen oder von einem anderen Programm belegt. Verwendest du close()?
Testen kannst du das mit:

netstat|grep <socketnummer>


socketnummer ist die Port Addresse die du in der struct sockaddr_in angegeben hast (ich gehe doch davon aus dass du die methoden aus <sys/socket.h> verwendest und nicht irgendeine Bibliothek.
Wenn mein verdacht stimmt, musst du entweder warten oder einen anderen Port verwenden.

Gruß HP

Antworten |