5
if(socket_recv ($sock , $buf , 2045, MSG_WAITALL) === FALSE)
{
$errorcode = socket_last_error();
$errormsg = socket_strerror($errorcode);
die("Could not receive data: [$errorcode] $errormsg <br>");
}
echo $buf;
từ hàm trên nó không hiển thị thông báo đầy đủ, vì vậy tôi đã cố gắng để có được độ dài tối đa của biến $ buf như thế nàylàm thế nào để có được chiều dài tối đa chức năng socket_recv này() trong PHP
socket_recv ($ sock, $ buf, strlen ($ buf), MSG_WAITALL)
nhưng không hoạt động. xin vui lòng giúp tôi
thx và kính chào,
Mà là kích thước tính bằng byte của dữ liệu mà bạn đang mong đợi để nhận được? Bước đầu tiên ở đây là xem xét đặc tả giao thức để biết điều đó. –
'strlen()' không nhận được kích thước tối đa là '$ buf', nó nhận được kích thước của dữ liệu hiện đang ở' $ buf'. Loại socket này là gì, stream hay datagram? – Barmar
@Barar stream $ sock = socket_create (AF_INET, SOCK_STREAM, 0) – NoNo