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