Windows console utilities áá»á¬ážá á áááºááŒáá¯ááºá¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯áá»á¬ážááœáẠááŒáŸá¯ááºááŸá¶áá¬ážááá·áº áá±á¬ááºážáá«ážá á®ážáá®ážáá»á¬ážááᯠáááºáááºáá¯ááºáá±á¬ááºááŒááºážááŒáá·áº TFTP (Trivial File Transfer Protocol) - ááá¯ážááŸááºážáá±á¬ááá¯ááºááœáŸá²ááŒá±á¬ááºážááŸá¯áááá¯ááá¯áá±á¬ááᯠááááœá±á·ááẠáá»áœááºá¯ááºááá¯á· ááá°áá®ááá¯ááºáá«á
áá±á¬ááºáá¯á¶ážá¡ááŒáááºá¡áá±áá²á·á áá®á¡áá¯áá®ááᯠá¡ááá¯áá»á¯á¶ážááŒáá·áºáá¡á±á¬ááºá ááá¯á¡ááºáá²á·áá¯ááºáá±á¬ááºáá»ááºáá²á· áááºáá°áá²á· áá¯ááºáá±á¬ááºááá¯ááºá
áœááºážááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºáá²á· áá¯ááºááá¯ááŒáá·áºááŒá®áž ááœá²ááŒááºážá
áááºááŒá¬ááŒáá·áºáá¡á±á¬ááºá á¡áá±ážá
áááºá¡áá»ááºáá»á¬áž - ááŒááºáá±á¬ááºááŸá¯á¡á±á¬ááºááœááº
á¡ááá¯ážá¡áá¬ážá¡áá»ááºá¡áááºááᯠáá°ážáá°áá°ážááá·áºáááºááá¯ááºáá«á áá±á¬ááºážáá«ážáá¡áá¯á¶ážááœáẠá¡á ááºá¡áá¬á¡áááœá±á·ááá¯ááºáá±á¬ááá·áºááºáá»á¬ážááᯠáááºážáá¡áááááœááºá TFTP ááẠáááºáá±á¬ááºááááºážáá»á¯ááºááŸá¯áááºáááºááœáẠáá«ááŸáááá·áº FTP áááá¯ááá¯áá±á¬á ááá¯ážááŸááºážáá±á¬ááŒá±á¬ááºážáá²ááŸá¯áá áºáá¯ááŒá áºáááºá áááºááŸá¬ážááá¯ááºááŒá®ááŒá áºááŒá®áž á¡ááŸááºááááºáá±á¬á· ááá¯ááºáá áºáá¯áááºáá¶ááŒááºážááŸáá·áº ááœáŸá²ááŒá±á¬ááºážááŒááºážá¡ááœáẠá¡áááá·áºáá»á¬ážááŸááœá²á á€áá±áá¬ááœáẠáá¬ááŸáááŸááá«á ááá¯á·áá±á¬áºá áá»áœááºá¯ááºááá¯á·áá¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯ááᯠá¡áááºážáááºááá¯ááá¯ááŒá±ááŒá áºá á±áááºááŸáá·áº áááºááŸááá¯ááºáá±ážáá¬ážááŒááºážááá¯ááºáᬠá¡ááŒá±áá¶áá°áá»á¬ážááŸáá·áº ááá¯ááºáá»á±á¬áá®ááœá±ááŒá áºá á±áááºá¡ááœáẠsyntax ááẠá¡áááºážáááºááŒá±á¬ááºážáá²ááœá¬ážááẠ- áááºážááẠáá¯ááºáá±á¬ááºááŸá¯áá¡ááŒá±áá¶áá°áá»á¬ážááᯠáááŒá±á¬ááºážáá²á á±áá²á Interface ááẠáá¬ááŸáááºáž á¡áááºážáááºááá¯áá¯áá¹ááááŸááá¬ááŒá®ážá FTP ááŸáá·áº TFTP á á¡ááŒá¯ááá±á¬áá±á¬ááºáá±á¬ ááŸá¯áá±á¬áá·áºáá»á¬ážááᯠáá±á«ááºážá ááºáá¬ážáááºá
á¡áá°ážáááŒáá·áºá á áááºáá±á¬á¡áá«ááœááºá áá¯á¶ážá áœá²áá°ááẠáá¬áá¬á IP ááááºá á¬ááŸáá·áº á áááºááŒáá¯áẠTFTP ááá¯ááœáá·áºáá¬ážááá·áº port ááᯠáá±á¬ááºážááá¯ááẠ(á á¶áááá¯ááá¯áá±á¬ááŸáá·áº áááá¯ááºáá®áá±á¬ááŒá±á¬áá·áº á¡áá¯á¶ážááŒá¯áá°á¡á¬áž ááá¯á·ááºááœá±ážáá»ááºááá¯ááºááŸá¯ááᯠáá»ááºáá¬ážááẠááá·áºáá»á±á¬áºáááºáᯠáá»áœááºá¯ááºáá°ááá«áááº) ááá¯á·áá±á¬ááºá client ááẠcommand áá»á¬ážáá²á០áá áºáá¯ááᯠáá±ážááá¯á·ááá¯ááºááẠ- get ááá¯á·ááá¯áẠput á server ááá¯á· ááá¯ááºáá áºáᯠáááºáá¶ááẠááá¯á·ááá¯áẠáá±ážááá¯á·ááẠááááºá¡ááŒá Ạáá»áááºáááºááŸá¯ ááŒá áºáá±á«áºáá«áááºá áá¯áá¹áááá±áááᯠááá¯ážááŸááºážá á±ááẠááá¯ááºá¡á¬ážáá¯á¶ážááᯠááœááá¯ááºááœáẠááá¯á·áá¬ážáááºá
áááá¯ááá¯áá±á¬ááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºáááºá¡ááœáẠáá»áœááºá¯ááºááẠááŸá±ážááááºá á¡áááºáž á áá¯ááᯠá¡áá¯á¶ážááŒá¯áá²á·áááº-
- TTPClient
- TFTPSserver
- TTPClientTester
- TFTPServerTester
á ááºážáááºááŒááºážá¡áááºážáá»á¬ážááẠáááºáá¡áá¬áá»á¬ážááᯠá¡ááŸá¬ážááŸá¬ááŒááºážá¡ááœááºáᬠáááºááŸááá±á¬ááŒá±á¬áá·áºá áááºážááá¯á·á¡á¬áž áá«ááœá²ááŒááºážá áááºááŒá¬áááºááá¯ááºáá±á¬áºáááºážá áá¯ááºááẠááá¯ááŸá±á¬ááºáááºážáá²ááœáẠááŸááá±áááá·áºáááºá áááºážááŸáá·áºáááºáááºááá·áº ááá·áºááºááᯠáá±á¬ááºážáá«ážáá¡áá¯á¶ážááœáẠááœá±á·ááá¯ááºáá«áááºá á¡áᯠáá»áœááºáá±á¬áº á¡ááá á¡áááºážááœá±ááᯠááŒáá·áºáááºá
TTPClient
á€á¡áááºážááá¬áááºááŸá¬ áááºážá ip ááŸáá·áº ááá¯á·ááºáá¶áá«ááºááŒáá·áº á¡áá±ážááááºážáá¬áá¬ááá¯á· áá»áááºáááºáááºá á¡áááºá á®ážááŒá±á¬ááºáž (á€ááá á¹á ááœááºá áá®ážáá¯ááº) á០command áá áºáá¯ááᯠáááºáááºá áááºážááᯠááœá²ááŒááºážá áááºááŒá¬áááºá áááºážááᯠáá¬áá¬ááá¯á· ááœáŸá²ááŒá±á¬ááºážáááºááŸáá·áº áááºááŸááááŸáá¡áá±á«áº áá°áááºáááºá ááá¯ááºáá áºáá¯áá±ážááá¯á·ááẠááá¯á·ááá¯áẠáááºáá¶áááºá áááºážááᯠááœáŸá²ááŒá±á¬ááºážááẠááá¯á·ááá¯áẠááá°ááẠááá¯á¡ááºáááºá
áá¬áá¬ááá¯á·áá»áááºáááºáááºááŸáá·áº ááá·áºááœááºážááŸá¯á á®ážááŒá±á¬ááºážá០ááœáŸááºááŒá¬ážáá»ááºáá áºáá¯ááᯠá á±á¬áá·áºááẠáá¯ááºááẠá€áá²á·ááá¯á·ááŒá áºáááºá á€áá±áá¬ááœáẠá¡áá¯á¶ážááŒá¯ááá·áº ááá¹áá¬áá¯á¶ážááá¯ááºáᬠááááºážááŸááºáá»á¬ážá áœá¬ááᯠáááá¯ááááºá á á¬áá¬ážá¡ááŒáá·áºá¡á á¯á¶ááœáẠáá±á¬ááºážáá«ážá¡ááŒááºáááºááœáẠáá±á¬áºááŒáá¬ážáá«áááºá áá°ááá¯á·áá²á·á¡áá±ážá¡ááœá²áá±ážááœá±ááŒá±á¬áá·áº áá±á¬ááºážáá«ážááᯠááœááºááœááºáá²áá²áááŒá áºááá á±ááá¯á· áá°ááá¯á·ááᯠááá¯ážáá¬ážáá«áááºá
public void run(String ip, int port)
{
this.ip = ip;
this.port = port;
try {
inicialization();
Scanner keyboard = new Scanner(System.in);
while (isRunning) {
getAndParseInput(keyboard);
sendCommand();
selector();
}
}
catch (Exception e) {
System.out.println(e.getMessage());
}
}
á€áá¯ááºááá±á¬á·ááºááœáẠáá±á«áºááá·áº áááºážáááºážáá»á¬ážááᯠááŒáá·áºááŒáá«á áá¯á·á
á€áá±áá¬ááœáẠááá¯ááºááᯠááá¯á·ááá¯ááºááẠ- á áááºáá¬ááᯠá¡áá¯á¶ážááŒá¯á áá»áœááºá¯ááºááá¯á·ááẠááá¯ááºá á¡ááŒá±á¬ááºážá¡áá¬áá»á¬ážááᯠááá¯ááºá¡áááºážáá áºáá¯á¡ááŒá ẠáááºááŒáᬠsocket ááá¯á· áá áºáá¯ááŒá®ážáá áºáᯠáá±ážáá±ážáᬠáááºážááá¯ááááºááŒá®ážáá±á¬áẠáááºážááᯠááŒááºááœáá·áºáá« (á¡áááºááŸá¬ážáá¯á¶áž ááŒá±ááŸááºážáá»ááºááá¯ááºáá±á¬áºáááºážá áááºážááẠá¡áááºážá¡ááŒá áºáá»á¬áž áá¯ááºáá±ážááŒááºážááᯠá¡á¬ááá¶áááº) ááŒá®ážáá±á¬áẠá¡á±á¬ááºááŒááºáá±á¬ ááœáŸá²ááŒá±á¬ááºážááŒááºážááá¯ááºáᬠáááºáá±á·áá»áºááᯠáá»áœááºá¯ááºááá¯á· ááŒááááºá
private void put(String sourcePath, String destPath)
{
File src = new File(sourcePath);
try {
InputStream scanner = new FileInputStream(src);
byte[] bytes = scanner.readAllBytes();
for (byte b : bytes)
sout.write(b);
sout.close();
inicialization();
System.out.println("nDonen");
}
catch (Exception e) {
System.out.println(e.getMessage());
}
}
á€áá¯ááºá¡ááá¯ááºážá¡á ááẠáá¬áá¬á០áá±áá¬áá»á¬áž ááŒááºáááºááá°ááŒááºážááᯠáá±á¬áºááŒáááºá á¡áá¬á¡á¬ážáá¯á¶ážááẠá¡áá±ážá¡ááœá²ááŒá áºáá±ááŒááºáááºá áá¯ááºááááááá±á¬ááºááá¯áᬠá áááºáááºá á¬ážáááºá socket á០ááá¯ááºáááºáá»áŸáááºááẠááá¯á¡ááºáááºááᯠá¡ááá¡áá»áá¬ážáááºáááºá ááœáŸá²ááŒá±á¬ááºážáá¬ážáá±á¬ááá¯ááºááẠá¡áá±ážáá»áááºáááºáá»áŸááŸááááºááᯠááááẠááá¯á¡ááºáááºá áá¬áá¬ááŸá ááá¯ááºá¡ááœááºá¡á á¬ážááᯠááŸááºáá»á¬ážáá±á¬ ááááºážááŒáá·áºá¡ááŒá Ạááá¯ááºá á¬ážááŒá¯áááºá ááá¯á·ááŒá±á¬áá·áº 4 bytes ááᯠá€áá±áá¬ááœáẠáááºáá¶ááŒá®áž áá±á¬ááºááá¯ááºážááœáẠáá¶áá«ááºáá áºáá¯á¡ááŒá áºááá¯á· ááŒá±á¬ááºážáá²ááœá¬ážáá«áááºá áááºážááẠá¡ááœáẠJava áá»ááºážáááºááŸá¯ ááá¯ááºáá«á áááºážááẠSI á¡ááœáẠá¡áá±á¬áºáá±áž áááºáá°áááºá ááá¯á·áá±á¬áº áááºážááẠáááºážá ááŒá¿áá¬ááᯠááŒá±ááŸááºážáá±ážáááºá
ááá¯á·áá±á¬áẠá¡áá¬á¡á¬ážáá¯á¶ážááẠá¡áá±ážá¡ááœá²ááŒá áºááẠ- áá»áœááºá¯ááºááá¯á·ááẠsocket á០áááá¬ážáá±á¬ bytes á¡áá±á¡ááœááºááᯠáááºáá¶áááŸáááŒá®áž á¡á±á¬ááºááŒááºááŸá¯á á¬ááá¯ááᯠááŒáááŒá®ážáá±á¬áẠáááºážááá¯á·ááᯠááá¯ááºáá áºáá¯ááá¯á· áá±ážáá»áá«á
private void get(String sourcePath, String destPath){
long sizeOfFile = 0;
try {
byte[] sizeBytes = new byte[Long.SIZE];
for (int i =0; i< Long.SIZE/Byte.SIZE; i++)
{
sizeBytes[i] = (byte)sin.read();
sizeOfFile*=256;
sizeOfFile+=sizeBytes[i];
}
FileOutputStream writer = new FileOutputStream(new File(destPath));
for (int i =0; i < sizeOfFile; i++)
{
writer.write(sin.read());
}
writer.close();
System.out.println("nDONEn");
}
catch (Exception e){
System.out.println(e.getMessage());
}
}
á¡áááºá get ááá¯á·ááá¯áẠput ááŸááœá²á á¡ááŒá¬áž command áá áºáá¯ááᯠclient window áá²ááá¯á· ááá·áºááœááºážáá²á·áá«áá input áááŸááºááŒá±á¬ááºáž ááœáŸááºááŒáá±á¬ showErrorMessage áá¯ááºáá±á¬ááºáá»ááºááᯠáá±á«áºáá«áááºá á¡áá±ážá¡ááœá²ááŒá±á¬áá·áºá áá«á¡á²áá«ááᯠáááá¯ážáá¬ážáá«áá°ážá ááá¯áá áááºáááºá á¬ážá áá¬áá±á¬ááºážáááºááŸá¬ input string ááá¯áááºáá¶ááŒááºážááŸáá·áºááœá²ááŒááºážááŒááºážááá¯ááºáá±á¬ááºáá»ááºááŒá áºáááºá áá»áœááºá¯ááºááá¯á·ááẠáá±áá¬ááœááºááŸá áºáá¯ááŒáá·áº ááŒá¬ážáá¬ážáá±á¬ áá»ááºážáá áºááŒá±á¬ááºážááᯠáááºáá¶áááŸááááºááŸáá·áº á¡áááá·áºáá±ážááŸá¯á áááºážááŒá áºááááºá á¬ááŸáá·áº áŠážáááºáá¬ááááºá á¬ááá¯á·áá«áááºáá±á¬ á áááºáá¬ááᯠáááºážáá²ááá¯á· áá»áœááºá¯ááºááá¯á· ááŒááºáááºážáá«áááºá
private void getAndParseInput(Scanner scanner)
{
try {
input = scanner.nextLine().split(" ");
typeOfCommand = input[0];
sourcePath = input[1];
destPath = input[2];
}
catch (Exception e) {
System.out.println("Bad input");
}
}
ááœáŸááºááŒá¬ážáá»ááºáá áºáá¯áá±ážááá¯á·ááŒááºáž- á áááºáá¬ááŸááá·áºááœááºážáá¬ážáá±á¬á¡áááá·áºááᯠsocket ááá¯á·ááá¯á·ááŒá®áž áá±ážááá¯á·ááẠááœááºážá¡á¬ážáá±ážáááºá
private void sendCommand()
{
try {
for (String str : input) {
for (char ch : str.toCharArray()) {
sout.write(ch);
}
sout.write(' ');
}
sout.write('n');
}
catch (Exception e) {
System.out.print(e.getMessage());
}
}
Selector ááẠááá·áºááœááºážáá¬ážáá±á¬ á á¬ááŒá±á¬ááºážáá±á«áºáá°áááºá áááá¯ááááºá áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááᯠáá¯á¶ážááŒááºáá±ážááá·áº áá¯ááºáá±á¬ááºáá»ááºáá áºáá¯ááŒá áºáááºá á€áá±áá¬ááŸá á¡áá¬á¡á¬ážáá¯á¶ážááẠá¡ááœááºááŸáááŒááºážáááŸáááá·áºá¡ááŒáẠá¡áá¯á¶ážááŒá¯áá¬ážáá±á¬ááŸáá·áºááœááºááẠáá¯ááºááááºááá¯á·ááŒááºážá¡ááŒááºáááºááá¯á· á¡áááºážá¡áá»ááºááœááºááẠá¡áá±á¬ááºážáá¯á¶ážááá¯ááºáá±á¬áºáááºážá C# ááŸá ááá¯ááºá á¬ážááŸááºáá»á¬ážá C++ á០áá¯ááºáá±á¬ááºáá»ááºááœáŸááºááŒáá»ááºáá»á¬áž ááá¯á·ááá¯áẠá¡áá»áá¯á·á¡áá¬áá»á¬ážá á¡áááá¡ááŒá±á¬ááºážáááºážááŸá¬ Java ááœáẠáááŸáááŒááºážááŒá áºáá±á¬ááŒá±á¬áá·áºá á€á¡áá¬ááᯠááŸááŸáá á¡áá±á¬ááºá¡áááºáá±á¬áºááá¯ááºá á±ááá·áº ááŒá±á¬ááºáááºááœááºáá±á¬ááºážáá±á¬ áá»á±á¬ááºáá»á¬ážá áᬠgoto á¡áááºážáá¯á¶ážááŒá áºáááºá áá¯ááºááᯠááá¯ááŒá±ááŒá áºá¡á±á¬áẠáááºááá¯áá¯ááºáááá²ááá¯áᬠááááẠcomment ááŸá¬ áá±áááºáá±ážáá«áá±á¬áºá áá®áá±áá¬ááŸá¬ String-delegate á¡áááá¬áẠááá¯á¡ááºáááºáááºááá±ááá·áº ááá¯ááºá á¬ážááŸááºáááŸááá°áž...
private void selector()
{
do{
if (typeOfCommand.equals("get")){
get(sourcePath, destPath);
break;
}
if (typeOfCommand.equals("put")){
put(sourcePath, destPath);
break;
}
showErrorMessage();
}
while (false);
}
}
TFTPSserver
áá¬áá¬ááá¯ááºáá±á¬ááºááá¯ááºá áœááºážááẠáá±á¬ááºáááºááá¯ááºáá±á¬ááºááá¯ááºá áœááºážááŸáá·áº ááŒá®ážáá¬ážáááºá ááá¯á¡áááá·áºáá±á¬áºáá»á¬ážááœááºáᬠáá®ážáá¯ááºááŸááá¯ááºáá² áá±á«ááºáá±á«ááºááŸáá¬áá«áááºá á¡áá»áá¯á·áá±á¬áááºážáááºážáá»á¬ážááẠáá±áá°áá»á¡á¬ážááŒáá·áº áá°áá®ááŒáááºá ááá¯á·ááŒá±á¬áá·áº áááºážááá¯á·ááᯠááá¯ážáá¬ážá áááŒá±á¬áá«á ááœá²ááŒá¬ážááŸá¯áá»á¬ážááá¯áᬠáá±ážáá«áááºá
á áááºáááºá¡ááœááºá á¡áááºá¡ááœááºá¡ááŒá Ạport áá áºáá¯ááᯠáááºáá¶áááŸáááŒá®áž áá¬ááááœááºážáááºáá áºáá¯ááŸá socket á០input data áá»á¬ážááᯠáá¯ááºáá±á¬ááºáá±ážááá·áº run method ááá¯á¡áá¯á¶ážááŒá¯áááºá
public void run(int port) {
this.port = port;
incialization();
while (true) {
getAndParseInput();
selector();
}
}
ááá¯ááºáá áºáá¯ááá¯á· write stream áá áºáá¯ááœáá·áºááŒá®áž socket á០input bytes á¡á¬ážáá¯á¶ážááá¯áá±ážááá·áº writeToFileFromSocket áááºážáááºážááᯠááŒá¯á¶áá¬ážááá·áº put method ááẠáá±ážááŒá®ážááœá¬ážáá±á¬á¡áá« ááœáŸá²ááŒá±á¬ááºážááŸá¯á¡á±á¬ááºááŒááºááŒá±á¬ááºáž ááœáŸááºááŒááá·áº áááºáá±á·áá»áºááᯠááŒááááºá
private void put(String source, String dest){
writeToFileFromSocket();
System.out.print("nDonen");
};
private void writeToFileFromSocket()
{
try {
FileOutputStream writer = new FileOutputStream(new File(destPath));
byte[] bytes = sin.readAllBytes();
for (byte b : bytes) {
writer.write(b);
}
writer.close();
}
catch (Exception e){
System.out.println(e.getMessage());
}
}
get method ááẠserver ááá¯ááºááᯠááŒááºáááºááá°áááºá áááá¯ááááºá client áááºááŒááºážááŸá ááá¹áááœáẠáá±á¬áºááŒáá¬ážááŒá®ážááŒá áºááá·áºá¡ááá¯ááºážá ááá¯ááºáá áºááá¯ááºááᯠá¡á±á¬ááºááŒááºá áœá¬ ááœáŸá²ááŒá±á¬ááºážáááºá ááŸááºáá»á¬ážáá±á¬ ááááºážááŒáá·áºááŒáá·áº ááááºážáááºážáá¬ážááá·áº ááá¯ááºáá áºááá¯ááºááᯠá¡á±á¬ááºááŒááºá áœá¬ ááœáŸá²ááŒá±á¬ááºážááẠááá¯á¡ááºáá±á¬ááŒá±á¬áá·áº áááºážááᯠ4 bytes áááºážáá»ááºážááŒááºážá¡ááŒá Ạááœá²á áááºážááá¯á·ááᯠbyte-by-byte ááœáŸá²ááŒá±á¬ááºážáá«á socket ááá¯á·á ááá¯á·áá±á¬áẠáááºážááá¯á·ááᯠclient ááœáẠáá¶áá«ááºáá áºáá¯á¡ááŒá Ạáááºáá¶á á á¯á ááºážááŒá®ážáá±á¬ááºá áá»áœááºá¯ááºááẠááá¯ááºááœá²á·á ááºážááá·áº bytes á¡á¬ážáá¯á¶ážááᯠááœáŸá²ááŒá±á¬ááºážááŒá®áž ááá¯ááºá០input stream ááŸáááºáááºá
private void get(String source, String dest){
File sending = new File(source);
try {
FileInputStream readFromFile = new FileInputStream(sending);
byte[] arr = readFromFile.readAllBytes();
byte[] bytes = ByteBuffer.allocate(Long.SIZE / Byte.SIZE).putLong(sending.length()).array();
for (int i = 0; i<Long.SIZE / Byte.SIZE; i++)
sout.write(bytes[i]);
sout.flush();
for (byte b : arr)
sout.write(b);
}
catch (Exception e){
System.out.println(e.getMessage());
}
};
getAndParseInput method ááẠclient ááœááºáá²á·ááá¯á·áááºááŒá
áºááŒá®ážá áá
áºáá¯áááºážáá±á¬ááœá¬ááŒá¬ážáá»ááºááŸá¬ áá®ážáá¯ááºááŸááá¯ááºáá² socket ááŸáá±áá¬ááá¯áááºááŒááºážááŒá
áºáá«áááºá áá¯ááºááẠááœá±ážáá»ááºáá°áá²á·ááá¯á·ááẠááá¯ááŸá±á¬ááºááŸá¯ááœáẠááŸááá±áááºá
á€ááá
á¹á
ááœááºá á¡á
ááŒá¯ááŒááºážá¡á¬áž áá®ážááŒá¬ážáá¯ááºáá
áºáá¯ááœáẠááá·áºááœááºážáá¬ážáá±á¬ááŒá±á¬áá·áº ááŒá
áºáááºá á€á¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯á¡ááœááºážá ááœáŸá²ááŒá±á¬ááºážááŒááºážááŒá®ážááŒá±á¬ááºááŒá®ážáá±á¬ááºá ááŸááºáá¬ááºááá¯á
ááá·áºááŸá¯ááŸáá¬ááœááºááŸá¯áá±ážáááºá¡ááœáẠá¡áááºážá¡ááŒá
áºáá»á¬ážááᯠáá¯ááºááœáŸááºáá±ážááŒá®áž áá
áºáááºááŒááºáááºááááºážááá¯ááºáá«áááºá
private void incialization()
{
try {
serverSocket = new ServerSocket(port);
socket = serverSocket.accept();
sin = socket.getInputStream();
sout = socket.getOutputStream();
}
catch (Exception e) {
System.out.print(e.getMessage());
}
}
á¡ááŸá áºáá»á¯ááºáááº-
áá»áœááºá¯ááºááá¯á·ááẠááá¯ážááŸááºážáá±á¬áá±áá¬ááœáŸá²ááŒá±á¬ááºážááŒááºážáááá¯ááá¯áá±á¬áá áºáá¯ááœáẠáá»áœááºá¯ááºááá¯á·áááá¯ááºááá¯ááºáá°ááœá²ááᯠááá¯áá±ážáááºáá±ážáá¬ážááŒá®áž áááºážááẠáááºááá¯á·áá¯ááºáá±á¬ááºááá·áºáááºááᯠááŸá¬ááœá±ááœá±á·ááŸááá²á·áááºá áááá¬áá¡á¬ážááŒáá·áºá áá»áœááºá¯ááºááẠá€áá±áá¬ááœáẠá¡áá±áááááᯠááŸá¬áááœá±á·áá²á·áá² á¡áá áºá¡áááºážáá»á¬ážá áœá¬ááᯠááá±ážáá²á·áá² Habré ááœáẠá¡áá¬ážáá° áá±á¬ááºážáá«ážáá»á¬áž áááŸááá±á¬á·áá² cmd utilities áá»á¬ážá¡ááŒá±á¬ááºáž áá±á¬ááºážáá«ážáá»á¬áž áááºááá¯ááºáá±ážááŒááºážá áá áºá áááºáá áºááá¯ááºážá¡áá±ááŒáá·áº áááºážááᯠááááœá±á·ááẠáááŒá áºááá¯ááºáá±á
ááá·áºááºáá»á¬áž
source: www.habr.com