ืงืึทื ืืื ืืืื ื ืื ืึธื ืืึธืื ื ืกืขืจืืข ืคืื โโโโืึทืจืืืงืืขื ืืขืืึทืงืืืืึทื ืฆื ืื ืื ืืืคึผืืึทืืึทื ืฅ ืคืื Windows ืงืึทื ืกืึธืื ืืืืืืึทืืื, ืืืจ ืงืขื ืขื ื ืืฉื ืืขืืคึฟื ืึธืืขืจ ืึธื ืจืืจื TFTP (ืืจืืืืืึทื ืืขืงืข ืึทืจืืืขืจืคืืจื ืคึผืจืึธืืึธืงืึธื) - ืึท ืคึผืฉืื ืืขืงืข ืึทืจืืืขืจืคืืจื ืคึผืจืึธืืึธืงืึธื.
ืืื ืืขืฆืืข ืืึธื, ืืึธืื ืืื ืื ืืขืงืืฆืขืจ ืืืื ืืืืขืจ ืื ืืขืึธืจืืข, ืืขื ืื ืงืึธื ืืืึธืก ืืืคึผืืึทืืึทื ืฅ ืคืึทื ืืงืฉืึทื ืึทืืืื ืขื ืืขื ืฆื ืื ืคืืจืืื ืื, ืืื ืึทื ืึทืืืื ืขืก. ืืขืจ ืคืจืืื - ืืื ืืขืจ ืื ืฉื ืืึทืื
ืืื ืืืขื ื ืืฉื ื ืึธืืืึทืื ืืื ืคึผืึทืคึผ ืจืขืคึฟืขืจืขื ืฅ ืืื ืคึฟืึธืจืืึทืฆืืข, ืคึฟืึทืจืืื ืืื ืืขื ืฆื ืืืึธืก ืงืขื ืขื ืืจืึทืืืฉืึทื ืึทืื ืืืื ืืขืคึฟืื ืขื ืืื ืื ืกืืฃ ืคืื ืืขื ืึทืจืืืงื, ืืื ืืืขื ื ืึธืจ ืืึธืื ืึทื ืืื ืืืื ืืึทืจืฅ, TFTP ืืื ืึท ืกืืืคึผืืึทืคืืื ืืืขืจืืืืฉืึทื ืคืื ืื ืคืืคึผ ืคึผืจืึธืืึธืงืึธื, ืืื ืืืึธืก ืื ืึทืงืกืขืก ืงืึธื ืืจืึธื ืืึทืฉืืขืืืงื. ืืื ืึทืืืขืงืืขื ืืืขื, ืืื ืืื ืคืึทืงื ืขืก ืืื ืืึธืจื ืืฉื ืืึธ ืึทืืืฅ ืงืึทืืึทื ืื ืคึฟืึทืจ ืจืืกืืืืื ื ืืื ืืจืึทื ืกืคืขืจืื ื ืึท ืืขืงืข. ืึธืืขืจ, ืืื ืกืืจ ืฆื ืืึทืื ืืื ืืืขืจ ืืืคึผืืึทืืขื ืืืืฉืึทื ืึท ืืืกื ืืขืจ ืขืืขืืึทื ื ืืื ืฆืืืขืคืืกื ืฆื ืื ืงืจืึทื ื ืคึผืจืื ืกืึทืคึผืึทืื ืคืื ืฉืจืืืื ืงืึธื, ืื ืกืื ืืึทืงืก ืืื ืืขืืืขื ืึท ืืืกื ืืขืืืื - ืืึธืก ืืื ื ืืฉื ืืืืฉื ืื ืคึผืจืื ืฆืืคึผื ืคืื ืึธืคึผืขืจืึทืฆืืข, ืึธืืขืจ ืื ืฆืืืื ื, IMHO, ืืืขืจื ืึท ืืืกื ืืขืจ ืืึทืืืฉืืงืึทื ืืื ืงืึทืืืืื ื ืื positive ืึทืกืคึผืขืงืฅ ืคืื FTP ืืื TFTP.
ืืื ืืึทืืื ืืขืจ, ืืืขื ืืึธื ืืฉื, ืืขืจ ืงืืืขื ื ืจืืงืืืขืก ืื ืกืขืจืืืขืจ 'ืก IP ืึทืืจืขืก ืืื ืื ืคึผืึธืจื ืืืืฃ ืืืึธืก ืื ืื TFTP ืืื ืึธืคื (ืจืขืื ืฆื ืื ืงืึทืืคึผืึทืืึทืืืืึทืื ืืื ืื ื ืึธืจืืึทื ืคึผืจืึธืืึธืงืึธื, ืืื ืืขืืืืื ืขืก ืฆืื ืขืืขื ืฆื ืืึธืื ืื ืืึทื ืืฆืขืจ ืื ืคืืืืงืืื ืฆื ืืืืกืงืืืึทืื ืึท ืคึผืึธืจื), ืืขืจื ืึธื ืึท ืงืฉืจ ืึทืงืขืจื, ืืื ืึท ืจืขืืืืืึทื ืคืื ืืืึธืก ืืขืจ ืงืืืขื ื ืงืขื ืขื ืฉืืงื ืืืื ืขืจ ืคืื ืื ืงืึทืืึทื ืื - ืืึทืงืืืขื ืึธืืขืจ ืฉืืขืื, ืฆื ืืึทืงืืืขื ืึธืืขืจ ืฉืืงื ืึท ืืขืงืข ืฆื ืื ืกืขืจืืืขืจ. ืื ืืขืงืขืก ืืขื ืขื ืืขืฉืืงื ืืื ืืืื ืขืจื ืืึธืืข ืฆื ืคืึทืจืคึผืึธืฉืขืืขืจื ืื ืืึธืืืง.
ืฆื ืื ืกืืจืืืขื ื ืืขื ืคึผืจืึธืืึธืงืึธื, ืืื ืืจืึทืืืฉืึทื ืึทืื ืืขืืืืื ื 4 ืงืืืกื:
- TFTPClient
- ืืคืืคึผืกืขืจืืืขืจ
- TFTPClientTester
- TFTPServerTester
ืจืขืื ืฆื ืืขื ืคืึทืงื ืึทื ืืขืกืืื ื ืงืืืกื ืขืงืกืืกืืืจื ืืืืื ืคึฟืึทืจ ืืืืึทืืื ื ืื ืืืืคึผื ืึธื ืขืก, ืืื ืืืขื ื ืืฉื ืคืื ืึทื ืืขืจืงืืืึทืื ืืื, ืึธืืขืจ ืืขืจ ืงืึธื ืืืขื ืืืื ืืื ืื ืจืืคึผืึทืืึทืืึธืจื ืึท ืืื ืง ืฆื ืขืก ืงืขื ืขื ืืืื ืืขืคึฟืื ืขื ืืื ืื ืกืืฃ ืคืื ืืขื ืึทืจืืืงื. ืืืฆื ืืื ืืืขื ืงืืงื ืืื ืื ืืืืคึผื ืงืืืกื.
TFTPClient
ืื ืึทืจืืขื ืคืื ืืขื ืงืืึทืก ืืื ืฆื ืคืึทืจืืื ืื ืฆื ืึท ืืืืึทื ืกืขืจืืืขืจ ื ืืฆื ืืืื IP ืืื ืคึผืึธืจื ื ืืืขืจ, ืืืืขื ืขื ืึท ืืึทืคึฟืขื ืคืื ืื ืึทืจืืึทื ืฉืจืืึทื ืืืึทื (ืืื ืืขื ืคืึทื, ืื ืงืืึทืืืืึทืืืจ), ืคึผืึทืจืก ืขืก, ืึทืจืืืขืจืคืืจื ืขืก ืฆื ืื ืกืขืจืืืขืจ, ืืื ืืืคึผืขื ืืื ื ืืืืฃ ืฆื ืืืจ ืืึทืจืคึฟื ืฆื ืฉืืงื ืึธืืขืจ ืืึทืงืืืขื ืึท ืืขืงืข, ืึทืจืืืขืจืคืืจื ืขืก ืึธืืขืจ ืืึทืงืืืขื.
ืืขืจ ืงืึธื ืคึฟืึทืจ ืืึธื ืืฉืื ื ืืขื ืงืืืขื ื ืฆื ืคืึทืจืืื ืื ืฆื ืื ืกืขืจืืืขืจ ืืื ืืืึทืจืื ืคึฟืึทืจ ืึท ืืึทืคึฟืขื ืคืื ืื ืึทืจืืึทื ืฉืจืืึทื ืืืึทื ืงืืงื ืืื ืืึธืก. ื ื ืืืขืจ ืคืื ืืืืืืืข ืืืขืจืืึทืืึทืื ืืืึธืก ืืขื ืขื ืืขื ืืฆื ืืึธ ืืขื ืขื ืืืกืงืจืืืื ืึทืจืืืก ืืขื ืึทืจืืืงื, ืืื ืื ืคืื ืืขืงืกื ืคืื ืื ืคึผืจืึธืืจืึทื. ืฆืืืื ืืืืขืจ ื ืืฉืืืงืงืืื ืฆืืืืจ ืืื ืืื ื ืืฉื ืืื ื ืืฉื ืืืืขืจืฆืืืืื ืืขื ืืจืืืงื.
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());
}
}
ืืื ืก ืืืื ืืืืขืจ ืื ืืขืืืึธืืก ืืขืจืืคื ืืื ืืขื ืืืึธืง ืคืื ืงืึธื:
ืืึธ ืื ืืขืงืข ืืื ืืขืฉืืงื - ื ืืฆื ืึท ืกืงืึทื ื ืขืจ, ืืืจ ืคืึธืจืฉืืขืื ืื ืืื ืืึทืื ืคืื ืืขืจ ืืขืงืข ืืื ืึท ืืขื ืืข ืคืื โโืืืืขืก, ืืืึธืก ืืืจ ืฉืจืืึทืื ืืืื ืขืจ ืืืจื ืืืื ืขืจ ืฆื ืื ืืึธืืขื, ื ืึธื ืืืึธืก ืืืจ ืคืึทืจืืึทืื ืขืก ืืื ืขืคึฟืขื ืขื ืขืก ืืืืืขืจ (ื ืืฉื ืื ืืขืจืกื ืงืืึธืจ ืืื ืืขืจ ืืึธื ืืืืืื ื, ืึธืืขืจ ืขืก ืืขืจืึทื ืืื ืื ืืขืืืื ื ืคืื ืจืขืกืืจืกื), ื ืึธื ืืืึธืก ืืืจ ืืืืึทืื ืึท ืึธื ืืึธื ืืืขืื ืืฆืืื ืึทืจืืืขืจืคืืจื.
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());
}
}
ืืขืจ ืงืึธื ืคืจืึทืืืขื ื ืืืฉืจืืืื ืจืืืจืืืืื ื ืืึทืื ืคืื ืื ืกืขืจืืืขืจ. ืึทืืฅ ืืื ืืืืืขืจ ืืจืืืืืึทื, ื ืึธืจ ืืขืจ ืขืจืฉืืขืจ ืืืึธืง ืคืื ืงืึธื ืืื ืคืื ืืื ืืขืจืขืก. ืึผืื ืฆื ืคึฟืึทืจืฉืืืื ืคึผืื ืงื ืืื ืคืืืข ืืืืขืก ืืึทืจืคึฟื ืฆื ืืืืขื ืขื ืคึฟืื ืื ืืึธืืขื, ืืืจ ืืึทืจืคึฟื ืฆื ืืืืกื ืืื ืคืื ืื ืืจืึทื ืกืคืขืจื ืืขืงืข ืืืืื. ืื ืืขืงืข ืืจืืืก ืืืืฃ ืื ืกืขืจืืืขืจ ืืื ืจืขืคึผืจืืืขื ืืื ืืื ืึท ืืึทื ื ืื ืืึทืืืฉืขืจ, ืึทืืื 4 ืืืืขืก ืืขื ืขื ืื ืืขื ืืืขื ืืึธ, ืืืึธืก ืืขื ืขื ืืขืจื ืึธื ืงืึธื ืืืขืจืืขื ืืื ืืืื ื ืืืขืจ. ืืึธืก ืืื ื ืืฉื ืึท ืืืืขืจ Java ืฆืืืึทื ื, ืขืก ืืื ืืขืจ ืขื ืืขื ืคึฟืึทืจ SI, ืึธืืขืจ ืขืก ืกืึทืืืื ืืืื ืคึผืจืึธืืืขื.
ืืขืจื ืึธื ืึทืืฅ ืืื ื ืืฉืืืง - ืืืจ ืืึทืงืืืขื ืึท ืืึทืืืืกื ื ืืืขืจ ืคืื ืืืืขืก ืคืื ืื ืืึธืืขื ืืื ืฉืจืืึทืื ืืื ืฆื ืึท ืืขืงืข, ื ืึธื ืืืึธืก ืืืจ ืืืืึทืื ืึท ืืฆืืื ืึธื ืืึธื.
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());
}
}
ืืืื ืึท ืืึทืคึฟืขื ืื ืืขืจืข ืืื ืืึทืงืืืขื ืึธืืขืจ ืฉืืขืื ืืื ืืจืืื ืืื ืืขื ืงืืืขื ื ืคึฟืขื ืฆืืขืจ, ืื showErrorMessage ืคืื ืงืฆืืข ืืืขื ืืืื ืืขืจืืคึฟื, ืืืึธืก ืื ืืืงืืืฅ ืึทื ืื ืึทืจืืึทื ืฉืจืืึทื ืืื ืคืึทืืฉ. ืืืืึทื ืคืื ืืจืืืืืึทืืืื, ืืื ืืืขื ื ืืฉื ืฆืืืืจื ืขืก. ืขืคึผืขืก ืืขืจ ืืฉืืงืึทืืืข ืืื ืื ืคืื ืงืฆืืข ืคืื โโืจืืกืืืืื ื ืืื ืกืคึผืืืืื ื ืื ืึทืจืืึทื ืฉืจืืึทื ืฉืืจืืงื. ืืืจ ืคืึธืจื ืื ืกืงืึทื ื ืขืจ ืืื ืขืก, ืคึฟืื ืืืึธืก ืืืจ ืืขืจืืืึทืจืื ืฆื ืืึทืงืืืขื ืึท ืฉืืจื ืืคืืขืฉืืืื ืืืจื ืฆืืืื ืกืคึผืืืกืึทื ืืื ืืื ืื ืืึทืคึฟืขื, ืืงืืจ ืึทืืจืขืก ืืื ืืขืกืืื ืืืฉืึทื ืึทืืจืขืก.
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");
}
}
ืฉืืงื ืึท ืืึทืคึฟืขื - ืืจืึทื ืกืืืื ืื ืืึทืคึฟืขื ืืจืืื ืคืื ืื ืกืงืึทื ื ืขืจ ืฆื ืื ืืึธืืขื ืืื ืคืึธืจืกืขืก ืขืก ืฆื ืืืื ืืขืฉืืงื
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());
}
}
ื ืกืขืืขืงืืึธืจ ืืื ืึท ืคึฟืื ืงืฆืืข ืืืึธืก ืืืืขืจืืึทื ื ืื ืึทืงืฉืึทื ื ืคืื ืื ืคึผืจืึธืืจืึทื ืืืคึผืขื ืืื ื ืืืืฃ ืื ืืจืืื ืฉืืจืืงื. ืึทืืฅ ืืึธ ืืื ื ืืฉื ืืืืขืจ ืฉืืื ืืื ืื ืืจืืง ืืขื ืืฆื ืืื ื ืืฉื ืืขืจ ืืขืกืืขืจ ืืื ืืขืฆืืืื ืืขื ืึทืจืืืกืืึทื ื ืึทืจืืืก ืื ืงืึธื ืืืึธืง, ืึธืืขืจ ืื ืืืืคึผื ืกืืื ืคึฟืึทืจ ืืขื ืืื ืืขืจ ืึทืืืขืง ืืื Java ืคืื ืขืืืขืืข ืืืื, ืืื ืืขืืึทืืืืฅ ืืื C #, ืคืื ืงืฆืืึธื ืืจื ืคึผืืื ืืขืจื ืคืื C ++ ืึธืืขืจ ืืื ืืื ืืกืืขืจ ืื ืฉืจืขืงืืขื ืืื ืฉืจืขืงืืขื ืืึธื, ืืืึธืก ืืึธืื ืืืจ ืฆื ืื ืกืืจืืืขื ื ืืขื ืืืืืึทืคืื. ืืืื ืืืจ ืืืืกื ืืื ืฆื ืืึทืื ืื ืงืึธื ืึท ืืืกื ืืขืจ ืขืืขืืึทื ื, ืืื ืืึทืืจืืกื ืงืจืืืืง ืืื ืื ืืึทืืขืจืงืื ืืขื. ืืืจ ืืึทืื ืืื ืึทื ืืึธ ืืึทืจืฃ ืืขื ืึท ืฉืืจืืงื-ืืขืืขืืึทื ืืืขืจืืขืจืืื, ืึธืืขืจ ืงืืื ืืขืืขืืึทื ืืื ื ืืฉืืึธ...
private void selector()
{
do{
if (typeOfCommand.equals("get")){
get(sourcePath, destPath);
break;
}
if (typeOfCommand.equals("put")){
put(sourcePath, destPath);
break;
}
showErrorMessage();
}
while (false);
}
}
ืืคืืคึผืกืขืจืืืขืจ
ืื ืคืึทื ืืงืฉืึทื ืึทืืืื ืคืื ืื ืกืขืจืืืขืจ ืืื ืึทื ืืขืจืฉ ืคืื ืื ืคืึทื ืืงืฉืึทื ืึทืืืื ืคืื ืืขื ืงืืืขื ื, ืืืจื ืืื ืืจืืืก, ืืืืื ืืื ืึทื ืงืึทืืึทื ืื ืงืืืขื ืฆื ืืื ื ืืฉื ืคึฟืื ืื ืงืืึทืืืืึทืืืจ, ืึธืืขืจ ืคึฟืื ืื ืืึธืืขื. ืขืืืขืืข ืคืื โโืื ืืขืืืึธืืก ืืขื ืขื ืืืื ืื ืืขืืืข, ืึทืืื ืืื ืืืขื ื ืืฉื ืฆืืืืจื ืืื, ืืื ืืืขื ื ืึธืจ ืึธื ืจืืจื ืื ืืืคืขืจืึทื ืกืื.
ืฆื ืึธื ืืืืื, ืื ืืืืคื ืืืคึฟื ืืื ืืขื ืืฆื, ืืืึธืก ื ืขืื ืึท ืคึผืึธืจื ืืื ืึทืจืืึทื ืฉืจืืึทื ืืื ืคึผืจืึทืกืขืกืึทื ืื ืึทืจืืึทื ืฉืจืืึทื ืืึทืื ืคืื ืื ืืึธืืขื ืืื ืึทื ืืืืืืง ืฉืืืืฃ.
public void run(int port) {
this.port = port;
incialization();
while (true) {
getAndParseInput();
selector();
}
}
ืืขืจ ืฉืืขืื ืืืคึฟื, ืืืึธืก ืจืึทืคึผืก ืื WriteToFileFromSocket ืืืคึฟื ืืืึธืก ืขืคึฟื ื ืึท ืฉืจืืึทืื ืืืึทื ืฆื ืึท ืืขืงืข ืืื ืฉืจืืืื ืึทืืข ืึทืจืืึทื ืฉืจืืึทื ืืืืขืก ืคึฟืื ืื ืืึธืืขื, ืืืกืคึผืืืื ืึท ืึธื ืืึธื ืืืึธืก ืื ืืืงืืืฅ ืื ืืขืจืึธืื ืงืึทืืคึผืืืฉืึทื ืคืื ืื ืึทืจืืืขืจืคืืจื ืืืขื ืื ืฉืจืืึทืื ืงืึทืืคึผืืืฅ.
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());
}
}
ืืขืจ ืืึทืงืืืขื ืืืคึฟื ืจืืืจืืืื ืื ืกืขืจืืืขืจ ืืขืงืข. ืืื ืฉืืื ืืขืจืืื ื ืืื ืืขืจ ืึธืคึผืืืืืื ื ืืืืฃ ืืขืจ ืงืืืขื ื ืืืึทื ืคืื ืื ืคึผืจืึธืืจืึทื, ืฆื ืืฆืืื ืึทืจืืืขืจืคืืจื ืึท ืืขืงืข ืืืจ ืืึทืจืคึฟื ืฆื ืืืืกื ืืืึทื ืืจืืืก, ืกืืึธืจื ืืื ืึท ืืึทื ื ืื ืืึทืืืฉืขืจ, ืึทืืื ืืื ืฉืคึผืึทืืื ืขืก ืืื ืึท ืืขื ืืข ืคืื โโ4 ืืืืขืก, ืึทืจืืืขืจืคืืจื ืืื ืืืื-ืืื-ืืืืข ืฆื ืื ืืึธืืขื, ืืื ืืขืจื ืึธื, ืืื ืืืงืืืขื ืืื ืึทืกืขืืืึทืื ืืื ืืืืฃ ืืขื ืงืืืขื ื ืืื ืึท ื ืืืขืจ ืฆืืจืืง, ืืื ืึทืจืืืขืจืคืืจื ืึทืืข ืื ืืืืขืก ืืืึธืก ืืึทืื ืื ืืขืงืข, ืืืืขื ืขื ืคึฟืื ืื ืึทืจืืึทื ืฉืจืืึทื ืืืึทื ืคืื ืืขืจ ืืขืงืข.
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 ืืืคึฟื ืืื ืื ืืขืืืข ืืื ืืื ืืขื ืงืืืขื ื, ืืขืจ ืืืืื ืืืืืง ืืื ืึทื ืขืก ืืืืขื ื ืืึทืื ืคึฟืื ืื ืืึธืืขื ืืื ืืื ืคึฟืื ืื ืงืืึทืืืืึทืืืจ. ืืขืจ ืงืึธื ืืื ืืื ืื ืจืืคึผืึทืืึทืืึธืจื, ืคึผืื ืงื ืืื ืกืขืืขืงืืึธืจ.
ืืื ืืขื ืคืึทื, ืื ืื ืืืืึทืืืืึทืืืึธื ืืื ืืขืฉืืขืื ืืื ืึท ืืึทืืื ืืขืจ ืืืึธืง ืคืื ืงืึธื, ืืืืึทื ืืื ืืขื ืืืคึผืืึทืืขื ืืืืฉืึทื, ื ืึธื ืื ืึทืจืืืขืจืคืืจื ืืื ืืขืขื ืืืงื, ืจืขืกืืจืกื ืืขื ืขื ืืืคืจืืื ืืื ืจืืึธืืงืืึทืคึผืื ืืืืืขืจ - ืืืืืขืจ ืฆื ืฆืืฉืืขืื ืฉืืฅ ืงืขืื ืืึผืจืื ืืืงืก.
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รฉ, ืืื ืืื ืึท ืืืื ืคึฟืื ืฉืจืืืื ืึท ืกืขืจืืข ืึทืจืืืงืืขื ืืืขืื ืงืื ืืืืืืึทืืื ืืื ืืขืืืขื ืืืืืขืืืขื ื ืืฉื ืฆื ืึธื ืจืืจื.
ืืื ืงืก:
ืืงืืจ: www.habr.com