МИНИСТЕРСТВО ПО РАЗВИТИЮ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ И КОММУНИКАЦИЙ РЕСПУБЛИКА УЗБИКИСТАН
ТАШКЕНТСКИЙ УНИВЕРСИТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ ИМЕНИ МУХАММАДА АЛЬ-ХОРАЗМИЙ
ЛАБОРАТОРНАЯ РАБОТА №10
Основы программирования сетей
Выполнил: Рустамов Хуршид
Проверила: Таджиева Феруза
Код программы:
package Lab10;
import com.sun.net.ssl.internal.ssl.Provider;
import javax.net.ssl.SSLServerSocket;
import javax.net.ssl.SSLServerSocketFactory;
import javax.net.ssl.SSLSocket;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.security.Security;
public class Server {
public static void main(String args[]) {
int port = 7712;
Security.addProvider(new Provider());
System.setProperty("javax.net.ssl.keyStore", "myKeyStore.jks");
System.setProperty("javax.net.ssl.keyStorePassword", "ilfat420-18");
try {
SSLServerSocketFactory sslServerSocketfactory = (SSLServerSocketFactory) SSLServerSocketFactory.getDefault();
SSLServerSocket sslServerSocket = (SSLServerSocket) sslServerSocketfactory.createServerSocket(port);
System.out.println("Сервер запустился и готов принимать клиентов");
SSLSocket sslSocket = (SSLSocket) sslServerSocket.accept();
DataInputStream inputStream = new DataInputStream(sslSocket.getInputStream());
DataOutputStream outputStream = new DataOutputStream(sslSocket.getOutputStream());
outputStream.writeUTF("Привет! Введите данные!");
while (true) {
String recivedMessage = inputStream.readUTF();
System.out.println("Данные с клиента : " + recivedMessage);
if (recivedMessage.equals("close")) {
outputStream.writeUTF("Соединение закрыто");
outputStream.close();
inputStream.close();
sslSocket.close();
sslServerSocket.close();
break;
} else {
outputStream.writeUTF("Вы отправили : " + recivedMessage);
}
}
} catch (Exception ex) {
System.err.println("Ошибка : " + ex.toString());
}
}
}
package Lab10;
import com.sun.net.ssl.internal.ssl.Provider;
import javax.net.ssl.SSLSocket;
import javax.net.ssl.SSLSocketFactory;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.security.Security;
import java.util.Scanner;
public class Client {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
int serverPort = 7712;
String serverName = "localhost";
Security.addProvider(new Provider());
System.setProperty("javax.net.ssl.trustStore", "myTrustStore.jts");
System.setProperty("javax.net.ssl.trustStorePassword", "ilfat420-18");
try {
SSLSocketFactory sslsocketfactory = (SSLSocketFactory) SSLSocketFactory.getDefault();
SSLSocket sslSocket = (SSLSocket) sslsocketfactory.createSocket(serverName, serverPort);
DataOutputStream outputStream = new DataOutputStream(sslSocket.getOutputStream());
DataInputStream inputStream = new DataInputStream(sslSocket.getInputStream());
System.err.println(inputStream.readUTF());
while (true) {
System.out.println("Введите данные чтобы отправить на сервер : ");
String messageToSend = sc.nextLine();
outputStream.writeUTF(messageToSend);
System.err.println(inputStream.readUTF());
if (messageToSend.equals("close")) {
break;
}
}
} catch (Exception ex) {
System.err.println("Ошибка : " + ex.toString());
}
}
}
Do'stlaringiz bilan baham: |