oijoijoij

Dependencies:   EthernetInterface mbed-rtos mbed

Fork of TCPSocket_HelloWorld by mbed official

Committer:
educalle00
Date:
Thu Jul 02 22:18:36 2015 +0000
Revision:
17:a7c2054d0d3a
Parent:
16:b9b148b32ca8
TCP socket commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
educalle00 16:b9b148b32ca8 1 /*#include "mbed.h"
educalle00 16:b9b148b32ca8 2 #include "EthernetInterface.h"
educalle00 16:b9b148b32ca8 3
educalle00 16:b9b148b32ca8 4 #define ECHO_SERVER_PORT 54321
educalle00 16:b9b148b32ca8 5
educalle00 16:b9b148b32ca8 6 #define IP "192.168.0.10"
educalle00 16:b9b148b32ca8 7 #define GATEWAY "192.168.0.1"
educalle00 16:b9b148b32ca8 8 #define MASK "255.255.255.0"
educalle00 16:b9b148b32ca8 9
educalle00 16:b9b148b32ca8 10 #define LEN 18980
educalle00 16:b9b148b32ca8 11 uint16_t sample_array0[LEN];
educalle00 16:b9b148b32ca8 12
educalle00 16:b9b148b32ca8 13 DigitalOut led_red(LED_RED);
educalle00 16:b9b148b32ca8 14 DigitalOut led_green(LED_GREEN);
educalle00 16:b9b148b32ca8 15 DigitalOut led_blue(LED_BLUE);
educalle00 16:b9b148b32ca8 16
educalle00 16:b9b148b32ca8 17 Serial pc(USBTX,USBRX);
educalle00 16:b9b148b32ca8 18
educalle00 16:b9b148b32ca8 19 int main (void) {
educalle00 16:b9b148b32ca8 20 for(int i = 0; i < LEN; i++) sample_array0[i] = ((0x0031<<8) | 0x0032);
educalle00 16:b9b148b32ca8 21 sample_array0[0] = ('S'<<8)|'S';
educalle00 16:b9b148b32ca8 22 sample_array0[LEN-1] = ('F'<<8) | 'F';
educalle00 16:b9b148b32ca8 23 pc.baud(9600);
educalle00 16:b9b148b32ca8 24 pc.printf("Starting test server\r\n");
educalle00 16:b9b148b32ca8 25
educalle00 16:b9b148b32ca8 26 EthernetInterface eth;
educalle00 16:b9b148b32ca8 27 eth.init(IP, MASK, GATEWAY);
educalle00 16:b9b148b32ca8 28 eth.connect();
educalle00 16:b9b148b32ca8 29 pc.printf("IP Address is %s\r\n", eth.getIPAddress());
educalle00 16:b9b148b32ca8 30
educalle00 16:b9b148b32ca8 31 TCPSocketServer server;
educalle00 16:b9b148b32ca8 32 server.bind(ECHO_SERVER_PORT);
educalle00 16:b9b148b32ca8 33 server.listen();
educalle00 16:b9b148b32ca8 34
educalle00 16:b9b148b32ca8 35 led_blue = 1;
educalle00 16:b9b148b32ca8 36 led_green = 1;
educalle00 16:b9b148b32ca8 37 led_red = 1;
educalle00 16:b9b148b32ca8 38
educalle00 16:b9b148b32ca8 39 while (true) {
educalle00 16:b9b148b32ca8 40 //pc.printf("\r\nWait for new connection...\r\n");
educalle00 16:b9b148b32ca8 41
educalle00 16:b9b148b32ca8 42
educalle00 16:b9b148b32ca8 43 TCPSocketConnection client;
educalle00 16:b9b148b32ca8 44 server.accept(client);
educalle00 16:b9b148b32ca8 45 client.set_blocking(true, 5000);
educalle00 16:b9b148b32ca8 46
educalle00 16:b9b148b32ca8 47 //pc.printf("Connection from: %s\r\n", client.get_address());
educalle00 16:b9b148b32ca8 48 char buffer[1460]; // size of IP payload
educalle00 16:b9b148b32ca8 49 while (true) {
educalle00 16:b9b148b32ca8 50 int n = client.receive(buffer, sizeof(buffer));
educalle00 16:b9b148b32ca8 51 if (n <= 0) break;
educalle00 16:b9b148b32ca8 52 pc.printf("Rec: %i: ",n);
educalle00 16:b9b148b32ca8 53
educalle00 16:b9b148b32ca8 54
educalle00 16:b9b148b32ca8 55 n = client.send_all((char *)sample_array0, LEN*2);
educalle00 16:b9b148b32ca8 56
educalle00 16:b9b148b32ca8 57 if (n <= 0) {led_blue = 0; break;}
educalle00 16:b9b148b32ca8 58 pc.printf("Sent %i: ",n);
educalle00 16:b9b148b32ca8 59 }
educalle00 16:b9b148b32ca8 60
educalle00 16:b9b148b32ca8 61 client.close();
educalle00 16:b9b148b32ca8 62 pc.printf("\r\n");
educalle00 16:b9b148b32ca8 63 }
educalle00 16:b9b148b32ca8 64 }*/