Systeme de messagerie

Résolu
lamia0afifa Messages postés 16 Date d'inscription samedi 24 novembre 2007 Statut Membre Dernière intervention 1 janvier 2008 - 4 déc. 2007 à 16:11
lamia0afifa Messages postés 16 Date d'inscription samedi 24 novembre 2007 Statut Membre Dernière intervention 1 janvier 2008 - 5 déc. 2007 à 19:02
Hello! "svp aidez _nous"
nous sommes des etudiantes spécialité reseau informatique , notre projet a pour théme "systeme de messagerie " c'est une application qui doit permette à des utilisateur de se connecter via Login et mot de passe ces derniers seront stockés dans une base de donnée Access. Le code source sera avec c# et la communication Client/Serveur via La technologie .net Remoting.Ainsi cette application permet d'envoyer des messages instantanés entre les users et,des news et télécharger des fichiers partagés.Donc svp nous sommme bloqués sur la programmation d'envoie de news et de téléchargement de fichiers partagés veuillez nous aider à résoudre notre probléme en nous envoyez un exemple de  code source d'envoie d'un news et de téléchargement de fichier et merci pour votre aide!!!!!! 

6 réponses

lamia0afifa Messages postés 16 Date d'inscription samedi 24 novembre 2007 Statut Membre Dernière intervention 1 janvier 2008
5 déc. 2007 à 19:02
Hello,
voici mon code de nouveau j'ai suivis vos renseignement mais j'ai eu une faute que j'ai pas compris"Attempted to create well-known object of type 'IMessage.IAUT'. Well-known objects must derive from the MarshalByRefObject class." au niveau du client :bool

b = a.verifier(textBox1.Text,textBox2.Text);

//code coté client remoting
using

System.Windows.Forms;
using

IMessage;
using

System.Runtime.Remoting;
using

System.Runtime.Remoting.Services;
using

System.Threading;
using

System.Configuration;
namespace

ClientWindows{

public
partial
class
connexion :
Form{

private IMessage.
IAUT a;

public
string user;

public connexion(){

InitializeComponent();

}

private
void button1_Click(
object sender,
EventArgs e){

if (a !=
null){

bool b = a.verifier(textBox1.Text,textBox2.Text);

if (b ==
true){

user = textBox1.Text;

this.DialogResult =
DialogResult.OK;

this.Close();}

else

MessageBox.Show(
"Utilisateur /Mot de passe incorrecte");}

}

private
void connexion_Load(
object sender,
EventArgs e){

try{

RemotingConfiguration.Configure(
"Client.config",
false); 

}

catch (
Exception ex){

MessageBox.Show(ex.Message);}

a = (IMessage.

IAUT)
Activator.GetObject(
typeof(IMessage.
IAUT),
"tcp://localhost:8080/AUTENTIFICATION"); 

}

}

}
//code coté interface remoting IMessage

using

System;
using

System.Collections.Generic;
using

System.Text;
namespace

IMessage{

//d‚l‚gu‚ de l'‚v‚nnement OnMsgEnvoi

[

Serializable]

public
delegate
void
EnvoiMsgEventHandler(
string strUser,
string strMsg);

public
interface
IAUT{

bool verifier(
string u,
string p);}
}
//code coté serveur Remoting

using

System;
using

System.Collections.Generic;
using

System.Text;
using

System.ComponentModel;
using

IMessage;
using

System.Data.OleDb;
using

System.Data;
using

System.Runtime.Remoting;
namespace

Serveur{

public
class
AUT :
MarshalByRefObject, IMessage.
IAUT{

public
override
object InitializeLifetimeService(){

return
null;}

public
bool verifier (
string u,
string p){

bool resultat =
false;

DataSet ds =
new
DataSet();

DataTable dt =
new
DataTable(
"utilisateur");

OleDbConnection cx =
new
OleDbConnection(
"Provider=Microsoft.JET.OleDB.4.0; Data Source = Actel.mdb ");

OleDbDataAdapter da =
new
OleDbDataAdapter(
"SELECT user.Login, user.Password, user.Nom, user.Prenom,user.Grade,user.Etat FROM user;", cx);

OleDbCommandBuilder o =
new
OleDbCommandBuilder(da);ds.Tables.Add(dt);

da.Fill(ds,

"utilisateur");

for (
int i = 0; i < dt.Rows.Count; i++){

if ((dt.Rows[i].ItemArray[i].ToString() == u) && (dt.Rows[i].ItemArray[1].ToString() == p))resultat =

true;}

return (resultat);

}

}

}
//aussi

using

System;
using

System.Runtime.Remoting;
using

System.Runtime.Remoting.Services;
using

System.Threading;
namespace

Serveur{

class
Program{

static
void Main(
string[] args){

try{

Console.WriteLine(
"demarrage du seveur");

RemotingConfiguration.Configure(
"Server.config",
false);

Console.ReadLine();

RemotingConfiguration.RegisterWellKnownServiceType(

typeof(
AUT),

"AUTENTIFICATION",

WellKnownObjectMode.SingleCall);}

catch (
Exception ex){

Console.WriteLine(ex.Message);

Console.ReadLine();}

}

}

}
SVP aidez moi à résoudre cette faute le plus vite pour avancer dans mon projet de fin d'étude et merci bien!!!!!!!
3
Nikoui Messages postés 794 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 19 août 2008 13
4 déc. 2007 à 16:16
"etudiantes spécialité reseau informatique" -> j'en conclus que vous avez donc eu des cours sur le sujet et que donc vous ne demandez pas un code tout fait, mais simplement un peu d'aide parce que vous bloquez sur un point particulier... Si c'est le cas, il suffit de nous expliquer où ça coince.

<hr size="2" width="100%" />
Working as designed
www.nikoui.fr
0
lamia0afifa Messages postés 16 Date d'inscription samedi 24 novembre 2007 Statut Membre Dernière intervention 1 janvier 2008
5 déc. 2007 à 15:16
salu,
 nous voullons le code source de envoyer news et de télécharger un fichier partagé en utilisant c# et le .NetRemoting que nous ne les avons jammais programmer avec. SVP envoyez nous le plus vite possible car notre sujet doit se terminer dans 20 jours. ET MERCI POUR VOTRE AIDE!!!!!!
0
Nikoui Messages postés 794 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 19 août 2008 13
5 déc. 2007 à 15:26
Je vous invite à lire le règlement, vous y verrez notament qu'on ne vient pas ici pour réclamer du code tout fait. C'est un peu dommage d'avoir choisi ce sujet si vous n'y connaissez rien, et de s'en rendre compte 20 jours avant l'échéance.

<hr size="2" width="100%" />
Working as designed
www.nikoui.fr
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lamia0afifa Messages postés 16 Date d'inscription samedi 24 novembre 2007 Statut Membre Dernière intervention 1 janvier 2008
5 déc. 2007 à 16:09
salu,
voici notre code qu'on travaille ci dessus. lors de l'exécution :

using



System;


using



System.Collections.Generic;


using



System.Text;


namespace



IMessage{



//d‚l‚gu‚ de l'‚v‚nnement OnMsgEnvoi




[




Serializable
]


public



delegate



void



EnvoiMsgEventHandler
(

string
strUser,

string
strMsg);


public



class



IAUT
:

MarshalByRefObject

{







public



bool
verifier(

string
u,

string
p);}// coté interface remoting

using


System;


using



System.Collections.Generic;


using



System.Text;


using



System.ComponentModel;


using



IMessage;


using



System.Data.OleDb;


using



System.Data;


using



System.Runtime.Remoting;


namespace



Serveur{


public



class



AUT
:

MarshalByRefObject
, IMessage.IAUT{


public



override



object
InitializeLifetimeService(){


return



null
;}

 


public



bool
verifier(

string
u,

string
p){


bool
resultat =

false
;


DataSet
ds =

new



DataSet
();


DataTable
dt =

new



DataTable
(

"utilisateur"
);


OleDbConnection
cx =

new



OleDbConnection
(

"Provider=Microsoft.JET.OleDB.4.0; Data Source = Actel.mdb "
);


OleDbDataAdapter
da =

new



OleDbDataAdapter
(

"SELECT user.Login, user.Password, user.Nom, user.Prenom,user.Grade,user.Etat FROM user;"
, cx);


OleDbCommandBuilder
o =

new



OleDbCommandBuilder
(da);ds.Tables.Add(dt);

da.Fill(ds,


"utilisateur"
);


for
(

int
i = 0; i < dt.Rows.Count; i++){


if
((dt.Rows[i].ItemArray[i].ToString() == u) && (dt.Rows[i].ItemArray[1].ToString() == p))resultat =


true
;}


return
(resultat);

}

}

}//coté serveur Remoting

using


System;


using



System.Collections.Generic;


using



System.ComponentModel;


using



System.Data;


using



System.Drawing;


using



System.Text;


using



System.Windows.Forms;


using



IMessage;


using



System.Runtime.Remoting;


using



System.Runtime.Remoting.Services;


using



System.Threading;


using



System.Configuration;


namespace



ClientWindows{


public



partial



class



connexion
:

Form

{







private
IMessage.

IAUT
a;


public



string
user;


public
connexion(){

InitializeComponent();

}

 


private



void
button1_Click(

object
sender,

EventArgs
e){


if
(a !=

null
){


bool
b = a.verifier(textBox1.Text, textBox2.Text);


if
(b ==

true
){

user = textBox1.Text;


this
.DialogResult =

DialogResult
.OK;


this
.Close();}


else






MessageBox
.Show(

"Utilisateur /Mot de passe incorrecte"
);}

}


private



void
connexion_Load(

object
sender,

EventArgs
e){


try

{







RemotingConfiguration
.Configure(

"Client.config"
,

false
); 

}


catch
(

Exception
ex){


MessageBox
.Show(ex.Message);}

a = (IMessage.


IAUT
)

Activator
.GetObject(

typeof
(IMessage.

IAUT
),

"tcp://localhost:8080/AUTENTIFICATION"
); 

}

}

}//coté client remoting

voici le messeage d'erreur :"Error  'IMessage.IAUT.verifier(string, string)' must declare a body because it is not marked abstract or extern "
SVP qu'est ce que ca signifie car nous ne l'avons pas compris. MERCI pour votre aide.
0
Nikoui Messages postés 794 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 19 août 2008 13
5 déc. 2007 à 17:33
Comme l'indique le message d'erreur, dans ton code "côté interface remoting", tu déclares dans une classe :

public
bool verifier(
string u,
string p);

Ce qui n'est pas correct (une méthode non abstraite doit avoir un corps).

Vu que tu es "côté interface remoting", cette classe devrait plutôt être une interface (et dans ce cas tu ne déclare pas de corps, juste le prototype de la méthode).

<hr size="2" width="100%" />
Working as designed
www.nikoui.fr
0
Rejoignez-nous