:sig String socket_read(u64 sockfd, u32 max_length = 1024*128, u32 timeout = 1); :params 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 :see >socket :content 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");