Applet UdpClient dans une page HTML

cs_Dalton Messages postés 10 Date d'inscription lundi 6 mai 2002 Statut Membre Dernière intervention 13 novembre 2007 - 13 mars 2005 à 02:26
safisoft Messages postés 489 Date d'inscription vendredi 30 janvier 2004 Statut Membre Dernière intervention 13 mai 2009 - 21 avril 2005 à 15:18
Bonjour,
J'ai crée un applet UdpClient qui fonctionne correctement lorsque je le lance à partir de java (dans fenetre DOS, commande Java UdpClient)
Lorsque je place cet apllet dans une page HTML, il ne fonctionne plus. Quelqu'un peut il m'in idiquer la cause de ce problème, et comment y remédier

Merci d'avance

cai dessous l'applet:
import java.net.*;
import java.io.*;


/**
* Client UDP
* Il faut d'abord lancer le serveur et ensuite le client
*/
public class UdpClient{


public static void main(String[] args) throws IOException {
//Création socket


InetAddress address = InetAddress.getByName("monIP");
int port = monPort;
//Envoi d'un datagramme au groupe
String ch = "Le message à envoyer";
int chl = ch.length;
byte[] message = new byte[chl];
ch . getBytes(0,chl,message,0);
DatagramPacket p = new DatagramPacket(message, chl, address, port);
datagramSocket s = new DatagramSocket();
s.send(p);
//Fermeture du socket
s.close();
System.exit(0);
}
}

Page html


<HTML>
<HEAD>
<TITLE>Socket</TITLE>
</HEAD>

Socket

<hr>

alt="Your browser understands the
&lt;APPLET
&gt; tag but isn't running the applet, for some reason."
Your browser is completely ignoring the
&lt;APPLET
&gt; tag!

<hr>

</HTML>



dalton

5 réponses

safisoft Messages postés 489 Date d'inscription vendredi 30 janvier 2004 Statut Membre Dernière intervention 13 mai 2009 6
14 mars 2005 à 13:52
t'as pas
créé une applet ni une application à fenêtre mais t'as fais un
programme tous simplement: pour faire une applet, la classe principale
doit heriter de Applet et tu pourra mett ton code dans init() et ta po
besoin de main(). ok?
0
cs_Dalton Messages postés 10 Date d'inscription lundi 6 mai 2002 Statut Membre Dernière intervention 13 novembre 2007
1 avril 2005 à 09:05
Merci safisoft de ta réponse.
J'ai effectivement pas été très précis dans ma formulation, c'est effectivement un programme java, que je souhaiterais utiluiser comme applet dans un code Html. Je ne suis que débutant en java et Html, comment dois je faire pour que la classe principale hérite de l'applet, et pour placer ce code init ?
En fait ce que je voudrais faire, c'est de placer une page Html chez mon provider et qu l'ors de l'ouverture de cette page, cette dernière recherche vienne rechercher sur mon ordi une information par UDP
(exemple sur page HTML : Température a la maison: .............
a l'ouverture de la page, par un lien UDP, le page HTML appel l'ordi à la maison et celuici lui retourne la température actuelle)
0
safisoft Messages postés 489 Date d'inscription vendredi 30 janvier 2004 Statut Membre Dernière intervention 13 mai 2009 6
1 avril 2005 à 16:08
dans la declaration de taclasse tu precise qu'elle hérite de Applet:

public class UdpClient extends Applet{.....

t'aurra pas besoin d'un main mais le programme que t'as mis ds main recopie le ds une méthode

public synchronized void init(){....}

et ne met pas de System.exit()

en ce qui concerne la transmission de données je prefère TCP avec Socket et ServerSocket mais c à toi de choisir.

OK?
0
cs_Dalton Messages postés 10 Date d'inscription lundi 6 mai 2002 Statut Membre Dernière intervention 13 novembre 2007
21 avril 2005 à 12:08
Safisoft, j'ai fais ce que tu m'as consellé dans ton dernier message mais ca ne fonctionne toujaours pas. Désolé je dois mal m'y prendre mais je ne suis qu'un débutant. ma class est la suivante:

import java.applet.*;
import java.awt.*;
import java.net.*;
import java.io.*;


/**
* Client UDP
* Il faut d'abord lancer le serveur et ensuite le client
*/
public class UdpClient extends Applet {
public static void init(String[] args) throws IOException {
//Création socket
DatagramSocket socket = new DatagramSocket();
InetAddress address = InetAddress.getByName("192.168.2.3");
//Envoi d'un datagramme au groupe
String dString = "test";
byte[] buf = new byte[256];
buf = dString.getBytes();
DatagramPacket packet = new DatagramPacket(buf, buf.length, address, 54);
socket.send(packet);
//Fermeture du socket
socket.close();
}
}

ensuite je l'appelle par une page HTML par la commande suivante:

alt="Your browser understands the
&lt;APPLET
&gt; tag but isn't running the applet, for some reason."
Your browser is completely ignoring the
&lt;APPLET
&gt; tag!

Est ce correcte?

Merci d'avance et désolé de te perturber.
0

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

Posez votre question
safisoft Messages postés 489 Date d'inscription vendredi 30 janvier 2004 Statut Membre Dernière intervention 13 mai 2009 6
21 avril 2005 à 15:18
recopie ce bou d code:


import java.applet.*;
import java.awt.*;
import java.net.*;
import java.io.*;
/**
* Client UDP
* Il faut d'abord lancer le serveur et ensuite le client
*/
public class UdpClient extends Applet {
public void init() throws IOException {
//Création socket
DatagramSocket socket = new DatagramSocket();
InetAddress address = InetAddress.getByName("192.168.2.3");
//Envoi d'un datagramme au groupe
String dString = "test";
byte[] buf = new byte[256];
buf = dString.getBytes();
DatagramPacket packet = new DatagramPacket(buf, buf.length, address, 54);
socket.send(packet);
//Fermeture du socket
socket.close();
}
}
0
Rejoignez-nous