Skip to content
Snippets Groups Projects
Commit 390c6069 authored by Dimitri Tayo Fongang Wembe's avatar Dimitri Tayo Fongang Wembe
Browse files

add Team files

parent 33142427
Branches
No related tags found
No related merge requests found
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.Socket;
public class TCPClient {
// start client and expects IP-Adress and Serverport as arguments
public static void main(String[] args) {
if (args.length != 2) {
System.out.println("Please Type in servername (IP-Adress)and Serverport as arguments");
return;
}
// safe name and port as variables
String serverName = args[0];
int serverPort = Integer.parseInt(args[1]);
try {
// create new socket with the given data
Socket socket = new Socket(serverName, serverPort);
// create DataOutStream from socket to send data to server
DataOutputStream outputStream = new DataOutputStream(socket.getOutputStream());
// send all numbers 0...1000000 in a loop part by part
for (int i = 0; i <= 1000000; i++) {
outputStream.writeInt(i);
}
// close resources
outputStream.close();
socket.close();
System.out.println("Send numbers successfully :) ");
} catch (IOException e) {
e.printStackTrace();
}
}
}
\ No newline at end of file
import java.io.DataInputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
public class TCPServer {
// server started and expects serverport as argument
public static void main(String[] args) throws IOException {
if (args.length != 1) {
System.out.println("Please give Serverport as argument");
}
//given arg will be saved as an integer
int serverPort = Integer.parseInt(args[0]);
// ServerSocket will be crested with the given port and wait for incoming connection
ServerSocket serverSocket = new ServerSocket(serverPort);
System.out.println("** start server ** \nwaiting for connection... (now you should start the client ;) )");
while (true) {
// as far as a client try to connect, the server will accept and a Socket for communication will be created
Socket clientSocket = serverSocket.accept();
System.out.println("Client connected.");
// create DataInputstream from socket, to read data from client
try (DataInputStream inputStream = new DataInputStream(clientSocket.getInputStream())) {
boolean error = false;
// loop to check numbers 1...1000000
for (int i = 0; i <= 1000000; i++) {
// get current number from inputstream
int receivedNumber = inputStream.readInt();
// compare actual and expected and throw error if something is missing
if (receivedNumber != i) {
System.out.println("Error: expected number: " + i + ", but received: " + receivedNumber);
error = true;
}
}
// if every number is received, print success
if (!error) {
System.out.println("All numbers received successfully :)");
}
}
//close all resources
clientSocket.close();
}
}
}
\ No newline at end of file
File added
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.nio.ByteBuffer;
public class UDPClient {
// start client and expects IP-Adress and Serverport as arguments
public static void main(String[] args) {
if (args.length != 2) {
System.out.println("Please Type in servername (IP-Adress)and Serverport as arguments");
return;
}
String serverName = args[0];
int serverPort = Integer.parseInt(args[1]);
try {
// create ServerAdress from servername (std. localhost)
InetAddress serverAddress = InetAddress.getByName(serverName);
// create DatagramSocket to send datagrams
DatagramSocket socket = new DatagramSocket();
// loop...
for (int i = 0; i <= 1000000; i++) {
// i is converted in a Byte-Array so it can be sent
byte[] sendBuffer = ByteBuffer.allocate(4).putInt(i).array();
// create DatagramPackage with the cinverted number
DatagramPacket sendPackage = new DatagramPacket(sendBuffer, sendBuffer.length, serverAddress, serverPort);
// Package will be sent
socket.send(sendPackage);
}
socket.close();
System.out.println("Send numbers successfully :) ");
} catch (IOException e) {
e.printStackTrace();
}
}
}
\ No newline at end of file
File added
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.nio.ByteBuffer;
public class UDPServer {
// server started and expects serverport as argument
public static void main(String[] args) throws IOException {
if(args.length != 1) {
System.out.println("Please give Serverport as argument");
return;
}
int serverPort = Integer.parseInt(args[0]);
// create datagramsocket with given data
DatagramSocket serverSocket = new DatagramSocket(serverPort);
// create buffer to safe incoming data later
byte[] receiveBuffer = new byte[4]; // 4 Bytes bc. Integer
int error = 0;
while(true) {
System.out.println("\n** start server ** \nwaiting for packet... (now you should start the client)");
// create DatagramPackage to receive data and safe in the buffer
DatagramPacket receivePackage = new DatagramPacket(receiveBuffer, receiveBuffer.length);
// loop to check numbers 1...1000000
for(int i = 0; i <= 1000000; i++) {
// serversocket receives data and safe thes in receivePackage
serverSocket.receive(receivePackage);
int receivedNumber = ByteBuffer.wrap(receivePackage.getData(), 0, receivePackage.getLength()).getInt();
// compare actual and expected and throw error if something is missing
if(receivedNumber != i) {
System.out.println("Error: expected number: " + i + ", but received: " + receivedNumber);
if(error == 0)
error = 1;
}
}
// if every number is received, print success
if(error == 0)
System.out.println("All numbers received successfully :)");
error = 0;
}
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment