Client window + socket [sans mfc]

Description

Voila un client qui permet d'envoyer n'importe quel message sur n'importe quel ip. Ca peut toujours etre utile pour ceux qui aimerai tester des commandes pour leurs serveurs ... :) en tout cas des foit ca bloques quelques secondes et je ne sais pas pourquoi. merci de me signaler les bugs ou autres @+

Source / Exemple :


#include <windows.h>
#include "resource.h"
#include <winsock.h>
#pragma comment(lib,"wsock32.lib")

BOOL CALLBACK IpDialogFunc(HWND hdlg, UINT mssg, WPARAM wParam,LPARAM lParam) 
{
  switch(mssg) {
    case WM_COMMAND:
      switch(wParam) {
        case IDC_BUTTON1:
        case ID_FILE_EXIT:
          PostMessage(hdlg, WM_COMMAND, IDCANCEL, 0);
          return 0;
        case 1234:
			/*on ouvre le dialog 
          pour la connection du socket

  • /
DialogBox(0,MAKEINTRESOURCE(IDD_DIALOG2), hdlg, IpDialogFunc); return 0; case exit_ : MessageBox(0,"Creer par Creatix(ZzZzZz)","Createur ...",0); PostQuitMessage(0); return 0; case about : MessageBox(0,"Creer par Creatix(ZzZzZz)","Createur ...",0); return 0; case IDCANCEL : EndDialog(hdlg, 0); case envoyer : // permet de stocker l'ip dans string char *string; string = (char *)malloc(GetWindowTextLength(GetDlgItem(hdlg,IDC_EDIT2))+1); (char *)GetWindowText(GetDlgItem(hdlg,IDC_EDIT2),string,GetWindowTextLength(GetDlgItem(hdlg,IDC_EDIT2))+1); // permet de stocker la commande dans string2 char *string2; string2 = (char *)malloc(GetWindowTextLength(GetDlgItem(hdlg,IDC_EDIT1))+1); (char *)GetWindowText(GetDlgItem(hdlg,IDC_EDIT1),string2,GetWindowTextLength(GetDlgItem(hdlg,IDC_EDIT1))+1); //initialisation du socket WSADATA wsadata; WSAStartup(MAKEWORD(1,0),&wsadata); SOCKET sock = socket(AF_INET,SOCK_STREAM,0); SOCKADDR_IN sin; //l'ip ou le socket va se connecter sin.sin_addr.s_addr = inet_addr(string); //la famille du socket sin.sin_family = AF_INET; //le port que vous pouvez changer sin.sin_port = htons(21452); //on connect le socket connect(sock,(LPSOCKADDR)&sin,sizeof(sin)); //on send string2 send(sock,string2,sizeof(string2),0); //on close le socket et on libre la memoire closesocket(sock); WSACleanup(); free(string); return 0; } return 0; } return 0; } /*fonction WinMain principale c'est elle qui ets executer en premier
  • /
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow) { //on ouvre le dialog (qui ets en fait la //fenetre principale DialogBox(0,MAKEINTRESOURCE(IDD_APP), 0, IpDialogFunc); return 0; }

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.