Petit serveur (socket, programme réseau)

Présentation
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 à".
Téléchargement
Compatibilité
Windows
0  0 
Téléchargé 1 fois Voir le commentaire
Détails
Catégories : Divers
Avatar de Philippe JCG
Membre régulier
Voir tous les téléchargements de l'auteur
Licence : Freeware
Date de mise en ligne : 3 août 2018




Avatar de Philippe JCG 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.