joni vanderhaeghe
/
bachelorproef
bachelorproef
tcp.cpp@3:df5d91adc3bb, 2020-03-27 (annotated)
- Committer:
- jonivdh
- Date:
- Fri Mar 27 15:27:30 2020 +0000
- Revision:
- 3:df5d91adc3bb
k;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
jonivdh | 3:df5d91adc3bb | 1 | #include "tcp.h" |
jonivdh | 3:df5d91adc3bb | 2 | |
jonivdh | 3:df5d91adc3bb | 3 | |
jonivdh | 3:df5d91adc3bb | 4 | TCP::TCP () { |
jonivdh | 3:df5d91adc3bb | 5 | ip = 101; |
jonivdh | 3:df5d91adc3bb | 6 | IPString = ""; |
jonivdh | 3:df5d91adc3bb | 7 | net.set_network ("192.168.0.118", "255.255.255.0", "0"); |
jonivdh | 3:df5d91adc3bb | 8 | buffer [32]; |
jonivdh | 3:df5d91adc3bb | 9 | net.connect(); |
jonivdh | 3:df5d91adc3bb | 10 | } |
jonivdh | 3:df5d91adc3bb | 11 | |
jonivdh | 3:df5d91adc3bb | 12 | void TCP::send(int ip) { |
jonivdh | 3:df5d91adc3bb | 13 | |
jonivdh | 3:df5d91adc3bb | 14 | IPString = "192.168.0." + to_string(ip); |
jonivdh | 3:df5d91adc3bb | 15 | // Open a socket on the network interface, and create a TCP connection to mbed.org |
jonivdh | 3:df5d91adc3bb | 16 | |
jonivdh | 3:df5d91adc3bb | 17 | socket.open(&net); |
jonivdh | 3:df5d91adc3bb | 18 | socket.connect(IPString.c_str(), 4000); |
jonivdh | 3:df5d91adc3bb | 19 | |
jonivdh | 3:df5d91adc3bb | 20 | // Send a simple http request |
jonivdh | 3:df5d91adc3bb | 21 | char number [] = "hallo"; |
jonivdh | 3:df5d91adc3bb | 22 | socket.send(number,sizeof number); |
jonivdh | 3:df5d91adc3bb | 23 | |
jonivdh | 3:df5d91adc3bb | 24 | |
jonivdh | 3:df5d91adc3bb | 25 | // Close the socket to return its memory and bring down the network interface |
jonivdh | 3:df5d91adc3bb | 26 | socket.close(); |
jonivdh | 3:df5d91adc3bb | 27 | |
jonivdh | 3:df5d91adc3bb | 28 | // Bring down the ethernet interface |
jonivdh | 3:df5d91adc3bb | 29 | net.disconnect(); |
jonivdh | 3:df5d91adc3bb | 30 | printf("Done\n"); |
jonivdh | 3:df5d91adc3bb | 31 | } |
jonivdh | 3:df5d91adc3bb | 32 | |
jonivdh | 3:df5d91adc3bb | 33 | |
jonivdh | 3:df5d91adc3bb | 34 | void TCP::receive() { |
jonivdh | 3:df5d91adc3bb | 35 | int rcount = 0; |
jonivdh | 3:df5d91adc3bb | 36 | EthernetInterface net; |
jonivdh | 3:df5d91adc3bb | 37 | |
jonivdh | 3:df5d91adc3bb | 38 | TCPSocket server; |
jonivdh | 3:df5d91adc3bb | 39 | server.open(&net); |
jonivdh | 3:df5d91adc3bb | 40 | |
jonivdh | 3:df5d91adc3bb | 41 | server.bind(4000); |
jonivdh | 3:df5d91adc3bb | 42 | |
jonivdh | 3:df5d91adc3bb | 43 | server.listen(); |
jonivdh | 3:df5d91adc3bb | 44 | TCPSocket * receiv = server.accept(); |
jonivdh | 3:df5d91adc3bb | 45 | |
jonivdh | 3:df5d91adc3bb | 46 | |
jonivdh | 3:df5d91adc3bb | 47 | rcount = receiv->recv(buffer, sizeof buffer); |
jonivdh | 3:df5d91adc3bb | 48 | printf("recv %d [%.*s]\n", rcount, strstr(buffer, "\r\n")-buffer, buffer); |
jonivdh | 3:df5d91adc3bb | 49 | |
jonivdh | 3:df5d91adc3bb | 50 | receiv->close(); |
jonivdh | 3:df5d91adc3bb | 51 | } |