UDP server example project for the NetworkAPI library

Dependencies:   EthernetInterface NetworkAPI mbed-rtos mbed

Fork of TCP_Client_Example by Roy van Dam

Committer:
NegativeBlack
Date:
Wed Jul 18 13:22:09 2012 +0000
Revision:
9:4536224842d4
Parent:
8:d55cac25e637
Child:
11:f4d618b8141f
Implemented TCP socket example.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
donatien 0:bb128f0e952f 1 #include "mbed.h"
donatien 0:bb128f0e952f 2 #include "EthernetInterface.h"
donatien 0:bb128f0e952f 3
NegativeBlack 9:4536224842d4 4 #include "NetworkAPI/buffer.hpp"
NegativeBlack 6:33b57f606f2b 5 #include "NetworkAPI/ip/address.hpp"
NegativeBlack 9:4536224842d4 6 #include "NetworkAPI/tcp/socket.hpp"
donatien 0:bb128f0e952f 7
NegativeBlack 6:33b57f606f2b 8 int
NegativeBlack 6:33b57f606f2b 9 main()
NegativeBlack 6:33b57f606f2b 10 {
NegativeBlack 6:33b57f606f2b 11 EthernetInterface interface;
NegativeBlack 6:33b57f606f2b 12 interface.init();
NegativeBlack 6:33b57f606f2b 13 interface.connect();
NegativeBlack 6:33b57f606f2b 14 printf("IP Address is %s\n\r", interface.getIPAddress());
NegativeBlack 8:d55cac25e637 15
NegativeBlack 9:4536224842d4 16 int result;
NegativeBlack 9:4536224842d4 17
NegativeBlack 9:4536224842d4 18 network::tcp::Socket socket;
NegativeBlack 9:4536224842d4 19 network::Buffer buffer(256);
NegativeBlack 9:4536224842d4 20 std::string request("GET /media/uploads/donatien/hello.txt HTTP/1.1\r\nHost: %s\r\n\r\n");
NegativeBlack 8:d55cac25e637 21
NegativeBlack 8:d55cac25e637 22 if (socket.open() < 0) {
NegativeBlack 9:4536224842d4 23 printf("Failed to open TCP Socket\n\r");
NegativeBlack 8:d55cac25e637 24 return -1;
NegativeBlack 8:d55cac25e637 25 }
NegativeBlack 8:d55cac25e637 26
NegativeBlack 9:4536224842d4 27 if (socket.connect("mbed.org", 80) < 0) {
NegativeBlack 9:4536224842d4 28 printf("Failed to connect with mbed.org\n\r");
NegativeBlack 9:4536224842d4 29 return -1;
NegativeBlack 9:4536224842d4 30 }
NegativeBlack 9:4536224842d4 31
NegativeBlack 9:4536224842d4 32 if (socket.write((void *)request.data(), request.size()) < 0) {
NegativeBlack 9:4536224842d4 33 printf("Failed to write HTTP request\n\r");
NegativeBlack 9:4536224842d4 34 return -1;
NegativeBlack 8:d55cac25e637 35 }
donatien 0:bb128f0e952f 36
NegativeBlack 9:4536224842d4 37 do
NegativeBlack 9:4536224842d4 38 {
NegativeBlack 9:4536224842d4 39 result = socket.read(buffer);
NegativeBlack 9:4536224842d4 40 printf("Received %d bytes:\n\r%s\n\r", result, (char *)buffer.pointer());
NegativeBlack 9:4536224842d4 41 } while(result > 0);
NegativeBlack 9:4536224842d4 42
NegativeBlack 9:4536224842d4 43 socket.close();
NegativeBlack 6:33b57f606f2b 44 return 0;
NegativeBlack 6:33b57f606f2b 45 }