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