Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@ private void connect() {
String[] tokens = str.split("\\s");
Platform.runLater(() -> {
clientList.getItems().clear();
for (int i = 1; i < tokens.length; i++) {
for ( int i = 1; i < tokens.length; i++ ) {
clientList.getItems().add(tokens[i]);
}
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
public class Main extends Application {

@Override
public void start(Stage primaryStage) throws Exception{
public void start(Stage primaryStage) throws Exception {
Parent root = FXMLLoader.load(getClass().getResource("/sample.fxml"));
primaryStage.setTitle("GeekChat");
primaryStage.setScene(new Scene(root, 400, 350));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,11 @@ public void tryToReg(ActionEvent actionEvent) {
controller.tryToReg(login, password, nickname);
}

public void regOk(){
public void regOk() {
textArea.appendText("Регистрация прошла успешно\n");
}
public void regNo(){

public void regNo() {
textArea.appendText("Логин или никнейм уже заняты\n");
}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
.root{
-fx-font-size: 16;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.TextArea?>
<?import javafx.scene.control.TextField?>
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.layout.VBox?>
<?import java.net.URL?>
<?import javafx.scene.control.PasswordField?>
<VBox fx:controller="client.RegController"
xmlns:fx="http://javafx.com/fxml" alignment="center">

<stylesheets>
<URL value="@/css/style.css"/>
</stylesheets>


<TextField fx:id="loginField" promptText="login"/>
<PasswordField fx:id="passwordField" promptText="password"/>
<TextField fx:id="nicknameField" promptText="nickname"/>

<TextArea fx:id="textArea" VBox.vgrow="ALWAYS" editable="false"/>
<HBox>
<Button text="reg" minWidth="100" onAction="#tryToReg"/>
<Button text="cancel" minWidth="100"/>
</HBox>

</VBox>
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.TextArea?>
<?import javafx.scene.control.TextField?>
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.layout.VBox?>
<?import java.net.URL?>
<?import javafx.scene.control.PasswordField?>
<?import javafx.scene.control.ListView?>
<VBox fx:controller="client.Controller"
xmlns:fx="http://javafx.com/fxml" alignment="center">

<stylesheets>
<URL value="@/css/style.css"/>
</stylesheets>

<HBox fx:id="authPanel">
<TextField fx:id="loginField" HBox.hgrow="ALWAYS" promptText="login"/>
<PasswordField fx:id="passwordField" HBox.hgrow="ALWAYS" promptText="password" onAction="#tryToAuth"/>
<Button text="login" onAction="#tryToAuth" minWidth="100"/>
<Button text="reg" onAction="#registration" minWidth="80"/>
</HBox>

<HBox VBox.vgrow="ALWAYS">
<ListView fx:id="clientList" visible="false" managed="false" minWidth="100"
onMouseReleased="#clientListClicked"/>
<TextArea fx:id="textArea" HBox.hgrow="ALWAYS" editable="false"/>
</HBox>

<HBox fx:id="msgPanel" visible="false" managed="false">
<TextField fx:id="textField" HBox.hgrow="ALWAYS" promptText="input message" onAction="#sendMsg"/>
<Button text="send" onAction="#sendMsg"/>
</HBox>

</VBox>
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#Generated by Maven
#Tue Mar 02 11:51:14 EET 2021
version=1.0-SNAPSHOT
groupId=org.example
artifactId=client
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#Generated by Maven
#Tue Mar 02 11:51:14 EET 2021
version=1.0-SNAPSHOT
groupId=org.example
artifactId=command
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,6 @@

public interface AuthService {
String getNicknameByLoginAndPassword(String login, String password);

boolean registration(String login, String password, String nickname);
}
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ public ClientHandler(Server server, Socket socket) {

new Thread(() -> {
try {
socket.setSoTimeout(5000);
// socket.setSoTimeout(5000);
//цикл аутентификации
while (true) {
String str = in.readUTF();
Expand Down Expand Up @@ -91,7 +91,7 @@ public ClientHandler(Server server, Socket socket) {
server.broadcastMsg(this, str);
}
}
//SocketTimeoutException
//SocketTimeoutException
} catch (SocketTimeoutException e) {
sendMsg(Command.END);
} catch (RuntimeException e) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,154 +1,46 @@
package server;

import org.sqlite.core.DB;

import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

public class DBAuthService implements AuthService {
private class UserData {
String login;
String password;
String nickname;

public UserData(String login, String password, String nickname) {
this.login = login;
this.password = password;
this.nickname = nickname;
static {
try {
DBMain.connect();
System.out.println("db connected");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}

// private List<SimpleAuthService.UserData> users;

public DBAuthService() {
// try {
// DBMain.connect();
// } catch (ClassNotFoundException e) {
// e.printStackTrace();
// } catch (SQLException throwables) {
// throwables.printStackTrace();
// }
//users = new ArrayList<>();
// users.add(new SimpleAuthService.UserData("qwe", "qwe", "qwe"));
DBMain.addUser ("qwe", "qwe", "qwe");
DBMain.addUser ("asd", "asd", "asd");
DBMain.addUser ("zxc", "zxc", "zxc");
// users.add(new SimpleAuthService.UserData("asd", "asd", "asd"));
// users.add(new SimpleAuthService.UserData("zxc", "zxc", "zxc"));
// for (int i = 1; i < 10; i++) {
// users.add(new SimpleAuthService.UserData("user" + i, "pass" + i, "nick" + i));
// }
}

@Override
public String getNicknameByLoginAndPassword(String login, String password) {
System.out.println(DBMain.selectNicknameByLoginAndPassword(login, password));
return DBMain.selectNicknameByLoginAndPassword(login, password);
}

@Override
public boolean registration(String login, String password, String nickname) {

try {
if ((DBMain.selectLogin(login))||(DBMain.selectNickName(nickname))){
//if(user.login.equals(login) || user.nickname.equals(nickname)){
return false;
}
if ((DBMain.selectLogin(login)) || (DBMain.selectNickName(nickname))) {
return false;
}
} catch (SQLException throwables) {
throwables.printStackTrace();
}
try {
DBMain.add(login, password, nickname);
DBMain.addUser(login, password, nickname);
System.out.println("User added to DB, login " + login + " password " + password + " nickname " + nickname);
} catch (SQLException throwables) {
throwables.printStackTrace();
}
return true;
}

}










//
//
//
//
// public class SimpleAuthService implements AuthService {
// private class UserData {
// String login;
// String password;
// String nickname;
//
// public UserData(String login, String password, String nickname) {
// this.login = login;
// this.password = password;
// this.nickname = nickname;
// }
// }
//
// private List<server.SimpleAuthService.UserData> users;
//
// public SimpleAuthService() {
// users = new ArrayList<>();
// users.add(new server.SimpleAuthService.UserData("qwe", "qwe", "qwe"));
// users.add(new server.SimpleAuthService.UserData("asd", "asd", "asd"));
// users.add(new server.SimpleAuthService.UserData("zxc", "zxc", "zxc"));
// for (int i = 1; i < 10; i++) {
// users.add(new server.SimpleAuthService.UserData("user" + i, "pass" + i, "nick" + i));
// }
// }
//
// @Override
// public String getNicknameByLoginAndPassword(String login, String password) {
// for ( server.SimpleAuthService.UserData user : users) {
// if(user.login.equals(login) && user.password.equals(password)){
// return user.nickname;
// }
// }
// return null;
// }
//
// @Override
// public boolean registration(String login, String password, String nickname) {
// for ( server.SimpleAuthService.UserData user : users) {
// if(user.login.equals(login) || user.nickname.equals(nickname)){
// return false;
// }
// }
// users.add(new server.SimpleAuthService.UserData(login, password, nickname));
// return true;
// }
// }

//////---------------------------
//
//import java.sql.SQLException;
//
// public class DBAuthService implements AuthService{
//
// @Override
// public String getNicknameByLoginAndPassword(String login, String password){
// System.out.println("Selected nick "+ DBCrud.selectNicknameByLoginAndPassword(login, password));
// return DBCrud.selectNicknameByLoginAndPassword(login, password);
// }
//
// @Override
// public boolean registration(String login, String password, String nickname) {
// return false;
// }
// }







Loading