Browse Source
implemented rudimentary build file, renamed perf package, included
implemented rudimentary build file, renamed perf package, included
adapted mandelbrot guimaster
Sebastian Rieger
7 years ago
3 changed files with 92 additions and 91 deletions
-
23VerteilteSysteme-Examples/.settings/org.eclipse.jdt.core.prefs
-
96VerteilteSysteme-Examples/src/verteiltesysteme/socket/perf/TCPPerfClient.java
-
64VerteilteSysteme-Examples/src/verteiltesysteme/socket/perf/TCPPerfServer.java
@ -1,11 +1,12 @@ |
|||
eclipse.preferences.version=1 |
|||
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled |
|||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 |
|||
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve |
|||
org.eclipse.jdt.core.compiler.compliance=1.8 |
|||
org.eclipse.jdt.core.compiler.debug.lineNumber=generate |
|||
org.eclipse.jdt.core.compiler.debug.localVariable=generate |
|||
org.eclipse.jdt.core.compiler.debug.sourceFile=generate |
|||
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error |
|||
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error |
|||
org.eclipse.jdt.core.compiler.source=1.8 |
|||
eclipse.preferences.version=1 |
|||
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled |
|||
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate |
|||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 |
|||
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve |
|||
org.eclipse.jdt.core.compiler.compliance=1.7 |
|||
org.eclipse.jdt.core.compiler.debug.lineNumber=generate |
|||
org.eclipse.jdt.core.compiler.debug.localVariable=generate |
|||
org.eclipse.jdt.core.compiler.debug.sourceFile=generate |
|||
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error |
|||
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error |
|||
org.eclipse.jdt.core.compiler.source=1.7 |
@ -1,48 +1,48 @@ |
|||
package verteiltesysteme.perf; |
|||
|
|||
import java.io.*; |
|||
import java.net.*; |
|||
import java.text.DateFormat; |
|||
import java.text.SimpleDateFormat; |
|||
import java.util.Date; |
|||
|
|||
class TCPPerfClient { |
|||
public static void main(String argv[]) throws Exception { |
|||
String hostname = ""; |
|||
int tcpPort = 36039; |
|||
DateFormat df = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss"); |
|||
|
|||
BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in)); |
|||
System.out.println("Bitte geben Sie die Server-Adresse ein: "); |
|||
hostname = inFromUser.readLine(); |
|||
System.out.println("Bitte geben Sie die Anzahl zu übertragender Megabytes ein: "); |
|||
Long number = new Long(inFromUser.readLine()); |
|||
|
|||
Socket clientSocket = new Socket(hostname, tcpPort); |
|||
|
|||
DataOutputStream outToServer = new DataOutputStream(clientSocket.getOutputStream()); |
|||
BufferedReader inFromServer = new BufferedReader(new InputStreamReader(clientSocket.getInputStream())); |
|||
|
|||
long timestampStart = System.currentTimeMillis(); |
|||
System.out.println("Zeit vor Versand = " + timestampStart + " ms, " + df.format(new Date(timestampStart))); |
|||
outToServer.writeBytes(number.toString() + "\n"); |
|||
|
|||
char[] buffer = new char[1024 * 1024]; |
|||
long totalBytesReceived = 0; |
|||
int charsRead = inFromServer.read(buffer); |
|||
while (charsRead != -1) |
|||
{ |
|||
totalBytesReceived += charsRead; |
|||
charsRead = inFromServer.read(buffer); |
|||
} |
|||
|
|||
long timestampEnd = System.currentTimeMillis(); |
|||
System.out.println("Zeit nach Empfang = " + timestampEnd + " ms, " + df.format(new Date(timestampEnd))); |
|||
long duration = timestampEnd - timestampStart; |
|||
System.out.println("Delay = " + duration + " ms"); |
|||
double seconds = (duration / 1000.0); |
|||
double throughput = (totalBytesReceived / seconds); |
|||
System.out.println("Rate = " + (long)throughput + " B/s"); |
|||
clientSocket.close(); |
|||
} |
|||
} |
|||
package verteiltesysteme.socket.perf; |
|||
|
|||
import java.io.*; |
|||
import java.net.*; |
|||
import java.text.DateFormat; |
|||
import java.text.SimpleDateFormat; |
|||
import java.util.Date; |
|||
|
|||
class TCPPerfClient { |
|||
public static void main(String argv[]) throws Exception { |
|||
String hostname = ""; |
|||
int tcpPort = 36039; |
|||
DateFormat df = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss"); |
|||
|
|||
BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in)); |
|||
System.out.println("Bitte geben Sie die Server-Adresse ein: "); |
|||
hostname = inFromUser.readLine(); |
|||
System.out.println("Bitte geben Sie die Anzahl zu übertragender Megabytes ein: "); |
|||
Long number = new Long(inFromUser.readLine()); |
|||
|
|||
Socket clientSocket = new Socket(hostname, tcpPort); |
|||
|
|||
DataOutputStream outToServer = new DataOutputStream(clientSocket.getOutputStream()); |
|||
BufferedReader inFromServer = new BufferedReader(new InputStreamReader(clientSocket.getInputStream())); |
|||
|
|||
long timestampStart = System.currentTimeMillis(); |
|||
System.out.println("Zeit vor Versand = " + timestampStart + " ms, " + df.format(new Date(timestampStart))); |
|||
outToServer.writeBytes(number.toString() + "\n"); |
|||
|
|||
char[] buffer = new char[1024 * 1024]; |
|||
long totalBytesReceived = 0; |
|||
int charsRead = inFromServer.read(buffer); |
|||
while (charsRead != -1) |
|||
{ |
|||
totalBytesReceived += charsRead; |
|||
charsRead = inFromServer.read(buffer); |
|||
} |
|||
|
|||
long timestampEnd = System.currentTimeMillis(); |
|||
System.out.println("Zeit nach Empfang = " + timestampEnd + " ms, " + df.format(new Date(timestampEnd))); |
|||
long duration = timestampEnd - timestampStart; |
|||
System.out.println("Delay = " + duration + " ms"); |
|||
double seconds = (duration / 1000.0); |
|||
double throughput = (totalBytesReceived / seconds); |
|||
System.out.println("Rate = " + (long)throughput + " B/s"); |
|||
clientSocket.close(); |
|||
} |
|||
} |
@ -1,32 +1,32 @@ |
|||
package verteiltesysteme.perf; |
|||
|
|||
import java.io.*; |
|||
import java.net.*; |
|||
|
|||
class TCPPerfServer { |
|||
public static void main(String argv[]) throws Exception { |
|||
int tcpPort = 36039; |
|||
Long clientNumberOfMegabytes; |
|||
|
|||
// Server-Socket erzeugen |
|||
@SuppressWarnings("resource") |
|||
ServerSocket welcomeSocket = new ServerSocket(tcpPort); |
|||
|
|||
while (true) { |
|||
Socket connectionSocket = welcomeSocket.accept(); |
|||
|
|||
BufferedReader inFromClient = new BufferedReader(new InputStreamReader(connectionSocket.getInputStream())); |
|||
BufferedWriter outToClient = new BufferedWriter(new OutputStreamWriter(connectionSocket.getOutputStream())); |
|||
|
|||
char[] buffer = new char[1024 * 1024]; |
|||
clientNumberOfMegabytes = new Long(inFromClient.readLine()); |
|||
//System.out.println(clientNumberOfMegabytes); |
|||
for (long i = 0; i < clientNumberOfMegabytes; i++) { |
|||
outToClient.write(buffer); |
|||
//System.out.print("."); |
|||
} |
|||
outToClient.close(); |
|||
System.out.print("\n"); |
|||
} |
|||
} |
|||
} |
|||
package verteiltesysteme.socket.perf; |
|||
|
|||
import java.io.*; |
|||
import java.net.*; |
|||
|
|||
class TCPPerfServer { |
|||
public static void main(String argv[]) throws Exception { |
|||
int tcpPort = 36039; |
|||
Long clientNumberOfMegabytes; |
|||
|
|||
// Server-Socket erzeugen |
|||
@SuppressWarnings("resource") |
|||
ServerSocket welcomeSocket = new ServerSocket(tcpPort); |
|||
|
|||
while (true) { |
|||
Socket connectionSocket = welcomeSocket.accept(); |
|||
|
|||
BufferedReader inFromClient = new BufferedReader(new InputStreamReader(connectionSocket.getInputStream())); |
|||
BufferedWriter outToClient = new BufferedWriter(new OutputStreamWriter(connectionSocket.getOutputStream())); |
|||
|
|||
char[] buffer = new char[1024 * 1024]; |
|||
clientNumberOfMegabytes = new Long(inFromClient.readLine()); |
|||
//System.out.println(clientNumberOfMegabytes); |
|||
for (long i = 0; i < clientNumberOfMegabytes; i++) { |
|||
outToClient.write(buffer); |
|||
//System.out.print("."); |
|||
} |
|||
outToClient.close(); |
|||
System.out.print("\n"); |
|||
} |
|||
} |
|||
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue