클라이언트에 데이터 보내기, 함수 프로토타입:
bool Server->send(mixed $fd, string $data, int $serverSocket = -1);
전송 프로세스는 비동기식이며, 맨 아래 레이어는 자동으로 듣고 쓰고, 점차적으로 클라이언트에 데이터를 보냅니다.
Parameters
$fd, 클라이언트 파일 descriptor
$data, 전송되는 데이터, 최대 TCP 프로토콜은 2M를 초과하지 않아야 합니다. buffer_output_size를 수정하여 전송이 허용되는 최대 패킷 길이를 변경할 수 있습니다
$serverSocket, 이 매개변수는 Unix 소켓 DGRAM으로 데이터를 전송할 때 필요합니다. 피어이며 TCP 클라이언트는 이를 채울 필요가 없습니다.
반환 값
성공적인 전송은 true를 반환합니다.
전송 실패는 false를 반환합니다. 실패 오류 코드를 얻으려면 $server->getLastError() 메소드를 호출하세요
Server->getLastError
최신 작업 가져오기 잘못된 오류 코드입니다. 비즈니스 코드는 오류 코드 유형에 따라 다양한 논리를 실행할 수 있습니다.
function Server->getLastError()
정수 숫자 오류 코드를 반환합니다
오류 전송 실패
1001 서버에 의해 연결이 닫혔습니다. 이 오류는 일반적으로 코드에서 $serv->close()가 실행될 때 발생합니다. 특정 연결을 닫았지만 여전히 $serv->send()를 호출하여 이 연결로 데이터를 보냅니다
1002 클라이언트에 의해 연결이 닫혔고 소켓이 닫혀서 데이터를 피어로 보낼 수 없습니다
1003 Close가 실행 중입니다. onClose 콜백 함수에서 $serv->send()를 사용하면 안 됩니다
1004 연결이 닫혔습니다
1005 연결이 존재하지 않습니다. 들어오는 $fd가 잘못되었을 수 있습니다
1007 시간 초과 데이터가 수신되었습니다. TCP가 연결을 닫은 후 파이프라인 버퍼에 일부 데이터가 남아 있을 수 있으며, 이 부분은 삭제됩니다.
1008 전송 버퍼가 가득 차서 전송 작업을 수행할 수 없음을 나타냅니다. 이 연결의 피어가 시간 내에 데이터를 수신할 수 없어 전송 버퍼가 가득 찼습니다
1202 전송 데이터가 서버>buffer_output_size 설정을 초과합니다
권장 학습: swoole 비디오 튜토리얼
위 내용은 메시지 전송 실패 오류를 얻는 swoole 메소드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!