|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Sep 2008
Messaggi: 15
|
Problema Socket[Java]
Dovrei leggere questo URL: http://www.dmi.unict.it/pappalardo/prova/16.html
Ma non ci riesco, la stringa risposta mi dà completamente vuota, perchè???? Codice:
/**
*
* @author Salvatore
*/
import java.net.*;
import java.io.*;
public class esercizio_16 {
public static final int PORT = 7400;
public static void main(String[] args) throws SocketException, UnknownHostException, IOException
{
// creazione client
DatagramSocket client = new DatagramSocket(PORT);
client.setSoTimeout(30000);
// creazione payload
String a = "GET pappalardo/prova/16.html";
byte[] arr = a.getBytes();
// creazione indirizzo
InetAddress addr = InetAddress.getByName("www.dmi.unict.it/pappalardo/prova/16.html");
// creazione porta server
int porta = 80;
while (true)
{
//creazione e spedizione pacchetto
DatagramPacket packetOUT = new DatagramPacket(arr, arr.length, addr, porta);
client.send(packetOUT);
//creazione pacchetto per ricevere
DatagramPacket packetIN = null;
byte[] buf = new byte[256];
packetIN = new DatagramPacket(buf, buf.length);
// ricezione
client.receive(packetIN);
String risposta = new String(packetIN.getData());
System.out.println(packetIN.getData());
System.out.println(risposta);
}
}
}
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
|
Perche' usi i datagram? Il testo dice di aprire uno stream, quindi mi aspetto che sia in uso TCP, non UDP.
Prima di scrivere l'applicazione, dovresti fare una prova, spedendo quella stringa mediante telnet. Per esempio, potresti fare (da win command prompt; sotto linux la sintassi e' leggermente diversa): telnet 192.168.0.34 80 Se riesci a collegarti, il cursore si portera' all'inizio della finestra. E' probabile che ci siano messaggi di benvenuto, ma non sono necessari. A questo punto, digiti la stringa assegnata: GET /gp/prova/16.aux\n (attenzione - non e' detto che l'echo sia attivato, quindi potresti non vedere quello che digiti) e vedi quello che succede. Mi sembra che partire in questo modo sia piu' facile, no? Potresti anche gia' vedere il testo, quindi il lavoro e' semplificato
__________________
In God we trust; all others bring data |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 04:40.



















