Signature
String socket_read(u64 sockfd, u32 max_length = 1024*128, u32 timeout = 1);
Parameters
sockfd : socket handle
max_length : optional maximum data size, defaults to 128kBytes
timeout : optional operation timeout, defaults to one second
return value : string containing the data that was read
Reads data from a socket connection.
max_length limits how much data is read, and timeout controls how long the operation is allowed to wait.
Example
u64 fd = socket_connect("127.0.0.1", 80);
socket_write(fd, "GET / HTTP/1.0\r\nHost: localhost\r\nConnection: close\r\n\r\n");
String chunk = socket_read(fd, 1024, 2);
socket_close(fd);
print(str_starts_with(chunk, "HTTP/") ? "read an HTTP response from the server" : "no data", "\n");
Output
read an HTTP response from the server