Two simple programs interacting
Hi!
I'm trying to make the code below work. But I don't know what I'm doing wrong as I dont get any error message. Some help would be much appriciated.
Code:
package FleraProgram;
import java.net.*; //Socket
import java.io.*; //Strömmar,Utmatning/Inmatning
//Detta program ansluter till ett väntande program och kommunicerar med det genom att
//skicka heltal.
class Anslutande {
public static void main (String[] args)
{
Socket vantandePart = null;
try
{
//Skapar förbindelsen till det väntande programmet i samma dator
//som väntar på given port
vantandePart = new Socket ("localhost",1201);
//Kommunikationsverktyg
OutputStream os = vantandePart.getOutputStream();
PrintWriter out = new PrintWriter (os,true);
InputStream is = vantandePart.getInputStream();
BufferedReader in = new BufferedReader(new InputStreamReader(is));
//Läser och sparar angivet heltal
//out.println("Skriv in ett heltal:");
int u=2;
int v;
if(u==-1)
{
out.println("bla bla");
vantandePart.close();
}
else
{
//Skicka heltalet
out.println(u);
//Ta emot svaret
v=in.read();
//Visa svaret
out.println(v);
System.out.println();
}
}
catch (IOException e)
{
e.printStackTrace();
}
finally
{
try
{
vantandePart.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
}
Code:
package FleraProgram;
import java.net.*; //Socket,Serversocket
import java.io.*; //Strömmar,Utmatning/Inmatning
//Ett program som väntar på Anslutande.java. Vantande.java tar emot heltal och beräknar kvadrat
//roten ur dessa och returnerar.
class Vantande {
public static void main(String[] args)
{
//väntande verktyg
ServerSocket ss = null;
//anslutande parten
Socket anslutandePart = null;
try
{
//objekt som väntar på given port
ss = new ServerSocket(1201);
//acceptera anslutningen
anslutandePart = ss.accept();
//stäng väntande objekt
ss.close();
//Kommunikationsverktyg
OutputStream os = anslutandePart.getOutputStream();
PrintWriter out = new PrintWriter(os,true);
InputStream is = anslutandePart.getInputStream();
BufferedReader in = new BufferedReader(new InputStreamReader(is));
//ta emot heltal
int v;
v=in.read();
int u=(int) Math.sqrt(v);
//visa heltal
out.println(v);
try
{
Thread.sleep(4000);
}
catch (InterruptedException e)
{}
//skicka svaret
out.println(u);
System.out.println();
}
catch (IOException e)
{
e.printStackTrace();
}
finally
{
try
{
ss.close();
anslutandePart.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
}