ok danke für den tipp!
das mit der send() funktion scheint bei mir schon vorher nach ausprobieren geklappt zu haben. Leider werden die Daten scheinbar vom "Server" nicht empfangen.
Daher poste ich nun einmal den abstrahierten quellcode für den "server" in der reihenfolge wie ich die funktionen aufrufe:
Delphi-Quellcode:
function TNet.WinSock_startup;
var wsa: TWSAData;
begin
WSAStartup(MAKEWORD(2, 0), wsa);
end;
function TNet.Winsock_sockTCP;
begin
S := socket (AF_INET , SOCK_STREAM , 0); // S : tSocket;
end;
function TNet.Winsock_setoptTCP;
begin
s_addr.sin_family :=AF_INET; // s_addr : sockaddr_in;
s_addr.sin_port := htons(10000);
s_addr.sin_addr.s_addr := htonl(INADDR_ANY);
s_addr.sin_zero:='0';
end;
function TNet.WinSock_bindTCP;
begin
bind ( S , s_addr , sizeof(s_addr));
end;
function TNet.Winsock_listenTCP;
begin
listen(S , SOMAXCONN);
end;
function TNet.Winsock_acceptTCP;
begin
S_accepting:= accept(S, nil, nil); // S_accepting : tSocket; {Socket der verbindungen akzeptiert durch accept() }
end;
function TNet.Winsock_reciveTCP;
begin
result:=recv(S_accepting, buffer, strlen(buffer),0); // buffer : PChar;
end;
Dies sind also meine Funktionsaufrufe. Natürlich bleibt der "server" bei der funktion accept hängen solange keine verbindung duch den "client" mit connect() erstellt wurde. Danch führt der "client" die bereit erwähnte send() funktion durch und der "server" soll dies "nurnoch" mit dem der oben geposteten funtion recv() auslesen. Leider geschiet dies nicht.
Hoffe jemand erkennt die Fehler in meinem Quellcode und kann mir helfen.