begin process at 2010 02 09 20:32:54
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Java

 > 

Archives

 > 

Au secours

 > 

Socket et classe


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Socket et classe

dimanche 16 février 2003 à 00:51:23 | Socket et classe

Nakah

Voila je voudrais savoir s'il est possible d'envoyer et de recevoir autre chose que du texte avec l'utilisation des sockets. Je voudrais par exemple envoyer et recevoir une classe.
dimanche 16 février 2003 à 12:55:27 | Re : Socket et classe

JHelp

C'est tout à fait faisable. Ce principe s'appel la Sérialization.. En fait l'éméteur et le récepteur possédes tout deux le code de la classe, elle est transformer en texte coté éméteur, transmise via la socket, le texte reçu est transformer en une instance de la classe. Voilà pour le principe.
Pour le mettre en place, il te faut une classe dite Serializable, qui est partagée par l'émteur et le recepteur. Et ensuite l'envoyer via un ObjectOutputStream (java.io), et la lire via un ObjectInputStream (java.io).
Pour rendre une classe Serializable, il suffit de lui faire implémenter l'interface Serielizable (java.io) Pour cette interface, pas besoin de définir des méthodes supplémentaires.

Un exemple serait peut-être le bienvenue. Tout d'abord la classe des données, celle qui est envoyé via le Web.

import java.io.Serializable
import java.util.Vector;

public class Donnee implements Serializable
{
private int quantite;
private double prix;
private String nom;
private Vector descriptions;

//Constructeur sans paramétre nécessaire pour données les valeurs par défauts pour une classe Sérializable
public Donnee()
{
quantite = 0;
prix = 0;
nom="";
descriptions=new Vector();
}

//Autre constructeur
public Donnee(int quantite,double prix,String nom)
{
this.quantite = quantite;
this.prix = prix;
this.nom = nom;
descriptions=new Vector();
}

//Ajoute une description
public void ajouteDescription(String description)
{
descriptions.addElement(description);
}

public int getQuantite()
{
return qaantite;
}

//........
}


Bon je l'ai pas mise entiére, c'est juste un exemple.

Ensuite, pour transférer ta classe donnée, il faut creer un ObjectOutputStream, pour celà tu fais :

ObjectOutputStream oos=new ObjectOutputStream(socket.getOutputStream());

Puis le transfert :

oos.writeOdject(donnee);

Ou donnee est une instance de Donnee

Pour lire la a classe, il faut constriure un ObjectInputStream

ObjectInputStream ois=new ObjectInputStream(socket.getInputStream());

Et pour récuprée la donnée :

Donnee donnee=(Donnee)ois.readObject();


Bien entendu toute ces opértions de ctruction de lecteur ou d'écriveur de flux, et la lecture et l'ecriture, peuvent déclancher des IOException, danoc à capturer avec un try catch quelque part.

JHelp
lundi 17 février 2003 à 21:58:54 | Re : Socket et classe

Nakah

Je te remerci tu m'a sauvé !
mardi 18 février 2003 à 12:49:24 | Re : Socket et classe

djamel001

coucou nakah la truite ! :)


-------------------------------
Réponse au message :
-------------------------------

> Je te remerci tu m'a sauvé !
>
mardi 18 février 2003 à 12:50:47 | Re : Socket et classe

djamel001

et peut ton mettre du coté client et du coté serveur une classe identique sauf au niveau d'une méthode...ou alors ca doit etre la meme classe ???


-------------------------------
Réponse au message :
-------------------------------

> coucou nakah la truite ! :)
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Je te remerci tu m'a sauvé !
> >
>
mardi 9 mars 2004 à 15:33:48 | Re : Socket et classe

smy

Mon programme ne marche pas, en faisant
Donnee donnee=(Donnee)ois.readObject();

Il me génère une ClassNotFoundException alors que j'ai copié l'exemple donné

mardi 9 mars 2004 à 15:35:06 | Re : Socket et classe

smy

Mon programme ne marche pas, en faisant
Donnee donnee=(Donnee)ois.readObject();

Il me génère une ClassNotFoundException alors que j'ai copié l'exemple donné

mardi 9 mars 2004 à 15:36:21 | Re : Socket et classe

smy

Mon programme ne marche pas, en faisant
Donnee donnee=(Donnee)ois.readObject();

Il me génère une ClassNotFoundException alors que j'ai copié l'exemple donné

mardi 9 mars 2004 à 15:36:37 | Re : Socket et classe

smy

Mon programme ne marche pas, en faisant
Donnee donnee=(Donnee)ois.readObject();

Il me génère une ClassNotFoundException alors que j'ai copié l'exemple donné

mardi 9 mars 2004 à 15:37:12 | Re : Socket et classe

smy

Mon programme ne marche pas, en faisant
Donnee donnee=(Donnee)ois.readObject();

Il me génère une ClassNotFoundException alors que j'ai copié l'exemple donné


1 2

Cette discussion est classée dans : envoyer, classe, socket, recevoir


Répondre à ce message

Sujets en rapport avec ce message

override de classe [ par desperad0 ] j'ai fait une copie d'une classe du jre, j'ai modifié son code(c'est la classe socket), et je voudrait que mon programme utilise ma classe socket plut Envoyer/recevoir valeurs avec un exécutable [ par orelien ] Bonjour,J'ai deux applications : l'une en Java et l'autre un exécutable windows.J'aimerais que l'exe et le java puisse se communiquer une valeur entre Envoyer une image par une socket [ par Sacavinasse ] Je fais un projet de capture d'image d'un ordi à un autre (le but est d'envoyer le max de capture d'image de l'ordi distant et de les afficher sur l'o [J2ME] Envoyer/recevoir/consulter SMS [ par JuJu ] Bonjour, J'ai comme projet de devoir envoyer et recevoir/consulter des sms avec J2ME sur un mobile Nokia. J'aimerais déja savoir si c'est possible et envoyer une video en socket [ par omar1271 ] slt tt le  monde !je ss entrain de developper un appli. clien/serveur   et je doie à ce titre  envoyer une video.mov qui est stocké sur le disque dur Java : lenteur avec Objet envoyer par Socket avec KeyEvent [ par nemata ] Bonsoir, je développe actuellement un Bomberman en java et en réseau 2 joueur, je peut actuellement envoyer un objet léger avec simplement la position Comment envoyer un ResultSet et un ResultSetMetaData par RMI? [ par TomC ] Bonjour à tous, Je possède une classe composée d'un ResultSet et d'un ResultSetMetaData. Je souhaite l'envoyer depuis mon serveur à mon client en RMI. héritage multiple [ par developpatator ] Bonjour, Alors voilà: j'ai una appli composée d'une classe principale, et une classe Connexion qui regroupe toutes les méthode relatives à l'envoi/rec pb passer un objet dans socket en java [ par marmotte59144 ] bonjour, je développe une application client-serveur en java. J'utilise des socket pour faire passer entre autre des objets. Mais il y a une erreur. Création d'une interface graphique par polymorphisme [ par diedatnight ] Bonjours, je doit créé un interface graphique par polymorphisme, enfin j'ai un formulaire à constituer avec une classe FormulaireEmployer et une clas


Nos sponsors


Sondage...

Comparez les prix


HTC Hero

Entre 550€ et 550€

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,437 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales