forked from IF-LK-2020/mymail
Initial commit
This commit is contained in:
90
Connection.java
Normal file
90
Connection.java
Normal file
@@ -0,0 +1,90 @@
|
||||
/**
|
||||
* <p>
|
||||
* Materialien zu den zentralen NRW-Abiturpruefungen im Fach Informatik ab 2018
|
||||
* </p>
|
||||
* <p>
|
||||
* Klasse Connection
|
||||
* </p>
|
||||
* <p>
|
||||
* Objekte der Klasse Connection ermoeglichen eine Netzwerkverbindung zu einem
|
||||
* Server mittels TCP/IP-Protokoll. Nach Verbindungsaufbau koennen Zeichenketten
|
||||
* (Strings) zum Server gesendet und von diesem empfangen werden. Zur
|
||||
* Vereinfachung geschieht dies zeilenweise, d. h., beim Senden einer
|
||||
* Zeichenkette wird ein Zeilentrenner ergaenzt und beim Empfang wird dieser
|
||||
* entfernt. Es findet nur eine rudimentaere Fehlerbehandlung statt, so dass z.B.
|
||||
* der Zugriff auf unterbrochene oder bereits getrennte Verbindungen nicht zu
|
||||
* einem Programmabbruch fuehrt. Eine einmal getrennte Verbindung kann nicht
|
||||
* reaktiviert werden.
|
||||
* </p>
|
||||
*
|
||||
* @author Qualitaets- und UnterstuetzungsAgentur - Landesinstitut fuer Schule
|
||||
* @version 30.08.2016
|
||||
*/
|
||||
|
||||
import java.net.*;
|
||||
import java.io.*;
|
||||
|
||||
public class Connection
|
||||
{
|
||||
private Socket socket;
|
||||
private BufferedReader fromServer;
|
||||
private PrintWriter toServer;
|
||||
|
||||
public Connection(String pServerIP, int pServerPort)
|
||||
{
|
||||
try
|
||||
{
|
||||
socket = new Socket(pServerIP, pServerPort);
|
||||
toServer = new PrintWriter(socket.getOutputStream(), true);
|
||||
fromServer = new BufferedReader(new InputStreamReader(socket.getInputStream()));
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
//Erstelle eine nicht-verbundene Instanz von Socket, wenn die avisierte
|
||||
//Verbindung nicht hergestellt werden kann
|
||||
socket = null;
|
||||
toServer = null;
|
||||
fromServer = null;
|
||||
}
|
||||
}
|
||||
|
||||
public String receive()
|
||||
{
|
||||
if(fromServer != null)
|
||||
try
|
||||
{
|
||||
return fromServer.readLine();
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
}
|
||||
return(null);
|
||||
}
|
||||
|
||||
public void send(String pMessage)
|
||||
{
|
||||
if(toServer != null)
|
||||
{
|
||||
toServer.println(pMessage);
|
||||
}
|
||||
}
|
||||
|
||||
public void close()
|
||||
{
|
||||
|
||||
if(socket != null && !socket.isClosed())
|
||||
try
|
||||
{
|
||||
socket.close();
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
/*
|
||||
* Falls eine Verbindung geschlossen werden soll, deren Endpunkt nicht
|
||||
* mehr existiert bzw. seinerseits bereits geschlossen worden ist oder
|
||||
* die nicht korrekt instanziiert werden konnte (socket == null), geschieht
|
||||
* nichts.
|
||||
*/
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user