demo versie 16/05

Dependencies:   EthernetInterface mbed-rto mbed

Fork of ProjectVLC by Klaas Govaerts

Revision:
15:5f1fda6b9140
Parent:
14:a6c651a1e51c
Child:
16:ffd311730575
--- a/TCPlistener.cpp	Wed Apr 18 08:09:56 2018 +0000
+++ b/TCPlistener.cpp	Wed Apr 18 08:35:32 2018 +0000
@@ -9,17 +9,18 @@
     server.bind(4000);
     server.set_blocking(false);
     for(int i=0;i<10;i++){
-        connections[i]=new TCPSocketConnection();
+        connections[i]=0;
     }
+    arraySize=10;
 }
 void TCPlistener::listen(){
-    server.listen(10);//Accept 10 connections at a time.
+    //server.listen(10);//Accept 10 connections at a time.
     //Source:https://os.mbed.com/handbook/Socket
-    
     bool incomingConnection=true;
     while(incomingConnection){
          TCPSocketConnection *connection=newConnection();
-         server.accept(client);
+         if(server.accept(connection)==-1)
+            incomingConnection=false;
     }
     //client.set_blocking(false, 100);
     
@@ -35,16 +36,16 @@
     printf("Segment ontvangen van %s:%i met inhoud \"%s\"\r\n", client.get_address(),client.get_port(),contents);
 }
 
-TCPSocketConnection * TCPlistener::newConnection(TCPSocketConnection **connectionArray,int arraySize){
+TCPSocketConnection * TCPlistener::newConnection(){
     bool searchLocation=true;
     for(int i=0;i<arraySize&&searchLocation;i++){
-        if(connectionArray[i]==0){
-            connectionArray[i]=new TCPSocketConnection();
-            return connectionArray[i];
-        } else if(!(connectionArray[i]->is_connected())){
-            delete connectionArray[i];
-            connectionArray[i]=new TCPSocketConnection();
-            return connectionArray[i];
+        if(connections[i]==0){
+            connections[i]=new TCPSocketConnection();
+            return connections[i];
+        } else if(!(connections[i]->is_connected())){
+            delete connections[i];
+            connections[i]=new TCPSocketConnection();
+            return connections[i];
         }
     }
     return 0;