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;
}
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.