Server Side First Steps

Backup
This commit is contained in:
Tahinli 2022-11-14 23:52:12 +03:00
parent c99c11adf0
commit 974ea8960c

74
main.c
View file

@ -22,6 +22,11 @@ int cSendCheck = -1;
pthread_mutex_t cMutex; pthread_mutex_t cMutex;
//Server Window Decleration
GtkWidget *sWindow;
GtkWidget *sPane;
GtkWidget *btStart;
GtkWidget *sPortEntry;
//Client Window Decleration //Client Window Decleration
GtkWidget *cWindow; GtkWidget *cWindow;
@ -40,12 +45,14 @@ pthread_mutex_t cMutex;
GtkWidget *btcOrderMessageSend; GtkWidget *btcOrderMessageSend;
//Socket Decleration //Socket Decleration
int clientSocket; int clientSocket;
int serverSocket;
//Funcs //Funcs
int connectToServer(void); int connectToServer(void);
int socketCloser(int aloneSocket); int socketCloser(int aloneSocket);
int cCleaner(int aloneSocket); int cCleaner(int aloneSocket);
int cSendMessageF(int clientSocket, char cMessage[]); int cSendMessageF(int clientSocket, char cMessage[]);
int startServer(void);
//Threads //Threads
@ -112,6 +119,17 @@ gboolean on_key_press(GtkWidget *widget, GdkEventKey *event, gpointer data);
//Button Events //Button Events
void btStartClick(GtkWidget *widget, gpointer data)
{
g_print("\nServer Start Order\n");
if(startServer())
{
perror("Server couldn't start");
}
}
gboolean cOrderSendMessage(GtkWidget *widget, gpointer data) gboolean cOrderSendMessage(GtkWidget *widget, gpointer data)
{ {
GtkTextIter cSFirst, cSLast; GtkTextIter cSFirst, cSLast;
@ -269,12 +287,33 @@ void btClientClick(GtkWidget *widget, gpointer data)
void btServerClick(GtkWidget *widget, gpointer data) void btServerClick(GtkWidget *widget, gpointer data)
{ {
printf("Server Selected\n"); printf("Server Selected\n");
//Decleration
GtkWidget *sWindow;
GtkWidget *sPane;
//Definition //Definition
sWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL); sWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL);
sPane = gtk_fixed_new(); sPane = gtk_fixed_new();
btStart = gtk_button_new_with_label("Start Server");
sPortEntry = gtk_entry_new();
//Pane-Set
gtk_fixed_put(GTK_FIXED(sPane), btStart, 150, 45);
gtk_fixed_put(GTK_FIXED(sPane), sPortEntry, 125, 10);
//Customization
//Window
gtk_window_set_position(GTK_WINDOW(sWindow), GTK_WIN_POS_CENTER);
gtk_window_set_default_size(GTK_WINDOW(sWindow), 400, 100);
gtk_window_set_title(GTK_WINDOW(sWindow), "Tahinli's Server");
gtk_window_set_resizable(GTK_WINDOW(sWindow), FALSE);
//Entry
gtk_entry_set_placeholder_text(GTK_ENTRY(sPortEntry), "Port Number");
gtk_entry_set_max_length(GTK_ENTRY(sPortEntry), 5);
//Button
gtk_widget_set_can_focus(GTK_WIDGET(btStart), TRUE);
gtk_widget_grab_focus(GTK_WIDGET(btStart));
//Button-Event
g_signal_connect(btStart,"clicked", G_CALLBACK(btStartClick), NULL);
//Epilogue //Epilogue
gtk_container_add(GTK_CONTAINER(sWindow), sPane); gtk_container_add(GTK_CONTAINER(sWindow), sPane);
gtk_widget_show_all(sWindow); gtk_widget_show_all(sWindow);
@ -339,7 +378,7 @@ int main(int argc, char **argv)
return 0; return 0;
} }
//FUNCS
int connectToServer(void) int connectToServer(void)
{ {
char ipAddress[15]; char ipAddress[15];
@ -426,7 +465,7 @@ int cSendMessageF(int clientSocket, char cMessage[])
if(isEmpyty == -1 && cMessage[i] != 10 && cMessage[i] != 32 && cMessage[i] != 9) if(isEmpyty == -1 && cMessage[i] != 10 && cMessage[i] != 32 && cMessage[i] != 9)
{ {
isEmpyty = i; isEmpyty = i;
printf("BOŞ\n"); printf("\nBOŞ\n");
} }
if(isEmpyty != -1 && cMessage[i] != 10 && cMessage[i] != 32 && cMessage[i] != 9) if(isEmpyty != -1 && cMessage[i] != 10 && cMessage[i] != 32 && cMessage[i] != 9)
{ {
@ -468,6 +507,31 @@ int cSendMessageF(int clientSocket, char cMessage[])
return 0; return 0;
} }
int startServer(void)
{
printf("\nServer is Starting\n");
char sPortNumber[] = "00000";
strncpy(sPortNumber, gtk_entry_get_text(GTK_ENTRY(sPortEntry)),5);
sPortNumber[5] = '\n';
/*for(int i = 0; i<strlen(sPortNumber);i++)
{
printf("%c---%d\n", sPortNumber[i], sPortNumber[i]);
}*/
//Socket Setup
serverSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
printf("Server Socket is = %d\n", serverSocket);
if(0>serverSocket)
{
printf("ERRNO = %d:%s\n", errno, strerror(errno));
printf("Error ID = %d\n", serverSocket);
perror("Socket Setup Failed");
socketCloser(serverSocket);
return -1;
}
return 0;
}
//Key Pressed Events //Key Pressed Events