IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Vote des utilisateurs
0 
0 
Détails
Licence : Freeware
Mise en ligne le 3 août 2018
Plate-forme : Windows
Langue : Français
Référencé dans
Navigation

Petit serveur (socket, programme réseau)

Serveur TCP en écoute sur le port 9725.
Le serveur accepte la connexion d'un client distant. Le client envoie des données que le serveur lui renvoie en écho. Les données reçues apparaissent dans la console, et l'adresse IP du client (ainsi que la date et l'heure) sont enregistrés dans un fichier log.
Compilable avec Code::Blocks, sous Windows.

N'ayant pas trouvé ici de rubrique "Réseau", j'ai publié dans la rubrique "Divers"
Nos ressources disponibles
Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include <stdio.h>
#include <winsock2.h>
#pragma comment(lib, "ws2_32.lib")

int main()
{   
    WSADATA WSAData;
    SOCKET sock;
    SOCKET csock;
    SOCKADDR_IN sin;
    SOCKADDR_IN csin;

    char buffer[4096];
    FILE * log;
    WSAStartup(MAKEWORD(2,0), &WSAData);

    sock = socket(AF_INET, SOCK_STREAM, 0);
    sin.sin_addr.s_addr = INADDR_ANY;
    sin.sin_family = AF_INET;
    sin.sin_port = htons(9725);
    bind(sock, (SOCKADDR *)&sin, sizeof(sin));
    listen(sock, 10);

    while(1) 
    {
        int sinsize = sizeof(csin);
        if((csock = accept(sock, (SOCKADDR *)&csin, &sinsize)) != INVALID_SOCKET)
        {
            printf("Connection from %s \n\n", inet_ntoa(csin.sin_addr));
            system("echo %date% %time%");
            system("echo %date% %time% >> server9725.log");
            log = fopen("server9725.log","a+");
            fprintf(log,"Connection from %s \n\n", inet_ntop(csin.sin_addr));
            send(csock, "Server ready.\r\n", 20, 0);

        }

        while(recv(csock,buffer,4096,0)> 0)
                        {
                            printf("%s\n",buffer);
                            fprintf(log, "%s", buffer);
                            closesocket(csock);
                            fclose(log);
                        }
    }

    return 0;
    }
Remplacer le symbole < par le signe "inférieur à".
Avatar de Philippe JCG
Membre régulier https://www.developpez.com
Le 27/07/2018 à 14:11
Bonjour,

Je vous propose un nouvel élément à utiliser : Petit serveur (socket, programme réseau)

Serveur TCP en écoute sur le port 22 (port correspondant habituellement à SSH).

Le serveur accepte la connexion d'un client distant. Le client envoie des données que le serveur lui renvoie en écho. Les données reçues apparaissent dans la console, et l'adresse IP du client (ainsi que la date et l'heure) sont enregistrés dans un fichier log.

Compilable avec Code::Blocks, sous Windows.

N'ayant pas trouvé ici de rubrique "Réseau", j'ai publié dans la rubrique "Divers"

Qu'en pensez-vous ?
Developpez.com décline toute responsabilité quant à l'utilisation des différents éléments téléchargés.