diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..3eb1a6f
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+.vscode
+target
+server/server
\ No newline at end of file
diff --git a/README.md b/README.md
index 600b8d7..7902a9b 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,20 @@
# Projekt_SIK
-Projekt 1 Sieci Komputerowe
+Projekt 1 Sieci Komputerowe
+Wykorzystujemy protokol TCP!
-klient w javie
+W gitignore dodalem pliki ktore nie maja byc przesylane na repozytorium. U mnie sa to smieci produkowane z Visual Studio Code oraz folder target z javy - tam jest generowany plik jar przez maven (jak zrobi sie maven install), mozna to robic lokalnie, nie trzeba przesylac na repozytorium. Dodatkowo nie przesylamy skompilowanego pliku z C czyli server/server.
-serwer w C
+## klient
+W javie. Wykorzystalem to narzedzie maven, na Inzynierii oprogramowania je uruchomil. W skrocie sluzy do tego zebysmy potem mogli ladnie wyeksportowac plik javy do jednego pliku ktory mozemy uruchomic - takie narzedzie co kompiluje nam jave pozniej. Caly kod jest w App.java, wysylanie wiadomosci dziala - uwaga na wielkosc wiadomosci - te bajty. Bedziemy musieli chyba zrobic tak ze wiadomosci tekstowe sa rozdzielane na takie segmenty odpowiedniej wielkosci zeby pozniej je ladnie wyslac bo niestety C w ktorym jest napisany serwer musi miec dokladnie okreslona wielkosc odbieranej wiadomosci.
+
+## serwer
+W C.
+Done:
+* laczenie sie z pojedynczym klientem
+* odbieranie wiadomosci tekstowych od jednego klienta i wyswietlanie je w konsoli
+
+TODO:
+* polaczenie od wielu klientow
+* odbieranie duzych plikow
+* przekazywanie wiadomosci do klienta
diff --git a/klient/.classpath b/klient/.classpath
new file mode 100644
index 0000000..71f5fef
--- /dev/null
+++ b/klient/.classpath
@@ -0,0 +1,44 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/klient/.project b/klient/.project
new file mode 100644
index 0000000..41b91cc
--- /dev/null
+++ b/klient/.project
@@ -0,0 +1,23 @@
+
+
+ Projekt
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ org.eclipse.m2e.core.maven2Builder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+ org.eclipse.m2e.core.maven2Nature
+
+
diff --git a/klient/.settings/org.eclipse.core.resources.prefs b/klient/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..f9fe345
--- /dev/null
+++ b/klient/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,4 @@
+eclipse.preferences.version=1
+encoding//src/main/java=UTF-8
+encoding//src/test/java=UTF-8
+encoding/=UTF-8
diff --git a/klient/.settings/org.eclipse.jdt.apt.core.prefs b/klient/.settings/org.eclipse.jdt.apt.core.prefs
new file mode 100644
index 0000000..d4313d4
--- /dev/null
+++ b/klient/.settings/org.eclipse.jdt.apt.core.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.apt.aptEnabled=false
diff --git a/klient/.settings/org.eclipse.jdt.core.prefs b/klient/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..b11489f
--- /dev/null
+++ b/klient/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,9 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
+org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore
+org.eclipse.jdt.core.compiler.processAnnotations=disabled
+org.eclipse.jdt.core.compiler.release=disabled
+org.eclipse.jdt.core.compiler.source=1.7
diff --git a/klient/.settings/org.eclipse.m2e.core.prefs b/klient/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/klient/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/klient/pom.xml b/klient/pom.xml
new file mode 100644
index 0000000..76b162c
--- /dev/null
+++ b/klient/pom.xml
@@ -0,0 +1,74 @@
+
+
+
+ 4.0.0
+
+ SieciKomp
+ Projekt
+ Final
+
+ Projekt
+ https://git.wmi.amu.edu.pl/s444341/Projekt_SIK
+
+
+ UTF-8
+ 1.7
+ 1.7
+
+
+
+
+ junit
+ junit
+ 4.11
+ test
+
+
+
+
+
+
+
+
+ maven-clean-plugin
+ 3.1.0
+
+
+
+ maven-resources-plugin
+ 3.0.2
+
+
+ maven-compiler-plugin
+ 3.8.0
+
+
+ maven-surefire-plugin
+ 2.22.1
+
+
+ maven-jar-plugin
+ 3.0.2
+
+
+ maven-install-plugin
+ 2.5.2
+
+
+ maven-deploy-plugin
+ 2.8.2
+
+
+
+ maven-site-plugin
+ 3.7.1
+
+
+ maven-project-info-reports-plugin
+ 3.0.0
+
+
+
+
+
diff --git a/klient/src/main/java/Projekt/App.java b/klient/src/main/java/Projekt/App.java
new file mode 100644
index 0000000..afc926a
--- /dev/null
+++ b/klient/src/main/java/Projekt/App.java
@@ -0,0 +1,41 @@
+package Projekt;
+
+import java.io.*;
+import java.net.*;
+
+public class App
+{
+ public static void main(String[] args) {
+ try {
+ // USTALAMY adres serwera i port - trzeba wpisac to co wyrzuca po uruchomieniu serwer
+ InetAddress addr = InetAddress.getByName("0.0.0.0");
+ int port = 44444; //Integer.parseInt(args[1]);
+
+ // utworz gniazdo i od razu podlacz je do addr:port
+ Socket socket = new Socket(addr, port);
+
+ //strumienie
+ DataOutputStream dos = new DataOutputStream(socket.getOutputStream()); //tu wysylamy wiadomosci
+ DataInputStream dis = new DataInputStream(socket.getInputStream()); //tu bedziemy przyjmowac wiadomosci
+
+ //wiadomosc musimy stworzyc tak zeby miala 1024 bajty - tak zeby pasowala do tablicy charow z serwera!
+ byte[] mess = new byte[1024];
+ String str = "Hello world from java!";
+ mess = str.getBytes(); //konwertujemy na bajty
+ dos.write(mess); //wysylamy
+
+
+ // czytaj odpowiedz to jest kod golinskiego
+ //String s = dis.readUTF();
+ // wypisz odpowiedz
+ //System.out.println("Serwer powiedzial: "+s);
+ dis.close();
+ dos.close();
+ socket.close();
+
+ } catch (Exception e) { //kiepskie lapanie wyjatkow!! lepiej bardziej sprecyzowac jaki wyjatek lapiemy
+ e.printStackTrace();
+ }
+ System.out.println("Klient zakonczyl dzialanie");
+ }
+}
diff --git a/klient/src/main/java/klient.java b/klient/src/main/java/klient.java
deleted file mode 100644
index e69de29..0000000
diff --git a/klient/src/test/java/Projekt/AppTest.java b/klient/src/test/java/Projekt/AppTest.java
new file mode 100644
index 0000000..2e37432
--- /dev/null
+++ b/klient/src/test/java/Projekt/AppTest.java
@@ -0,0 +1,20 @@
+package Projekt;
+
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Test;
+
+/**
+ * Unit test for simple App.
+ */
+public class AppTest
+{
+ /**
+ * Rigorous Test :-)
+ */
+ @Test
+ public void shouldAnswerWithTrue()
+ {
+ assertTrue( true );
+ }
+}
diff --git a/server/server.c b/server/server.c
new file mode 100644
index 0000000..2f4de9f
--- /dev/null
+++ b/server/server.c
@@ -0,0 +1,39 @@
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+int main(void) {
+ char bufor[1024]; //wiadomosc
+ int gniazdo, gniazdo2;
+ struct sockaddr_in adr, nadawca;
+ socklen_t dl = sizeof(struct sockaddr_in);
+
+ gniazdo = socket(PF_INET, SOCK_STREAM, 0);
+ adr.sin_family = AF_INET;
+ adr.sin_port = htons(44444); //port
+ adr.sin_addr.s_addr = INADDR_ANY;
+
+ printf("Slucham na %s:%d\n", inet_ntoa(adr.sin_addr), ntohs(adr.sin_port));
+
+ if (bind(gniazdo, (struct sockaddr*) &adr, sizeof(adr)) < 0) { //bind
+ printf("Bind nie powiodl sie.\n");
+ return 1;
+ }
+ if (listen(gniazdo, 10) < 0) { //listen
+ printf("Listen nie powiodl sie.\n");
+ return 1;
+ }
+ printf("Czekam na polaczenie ...\n");
+ while ((gniazdo2 = accept(gniazdo, (struct sockaddr*) &nadawca, &dl)) > 0) { //odbieranie
+ memset(bufor, 0, 1024);
+ recv(gniazdo2, bufor, 1024, 0);
+ printf("Wiadomosc od %s: %s\n", inet_ntoa(nadawca.sin_addr), bufor);
+ close(gniazdo2);
+ }
+ close(gniazdo);
+ return 0;
+}
\ No newline at end of file
diff --git a/serwer/serwer.c b/serwer/serwer.c
deleted file mode 100644
index e69de29..0000000