>  기사  >  백엔드 개발  >  PHP에 인스턴트 푸시 기능을 추가하는 방법

PHP에 인스턴트 푸시 기능을 추가하는 방법

不言
不言원래의
2018-07-04 16:57:452362검색

이 글은 주로 PHP에 인스턴트 푸시 기능을 추가하는 방법을 소개합니다. 이제는 모든 사람과 공유합니다. 도움이 필요한 친구들이 참고할 수 있습니다.

악수하는 웹소켓을 유지하려면

이전에는 Workerman을 사용했는데 인계하는데 시간이 많이 걸렸는데 이제 Workerman이 코드를 최적화했습니다. -》https://www.workerman.net/web-sender

효과 1:

메시지 수신 페이지: http:/ /demos.workerman.net/web-sender/

푸시 인터페이스 URL: http://demos.workerman.net:2121/?type=publish&to=uid&content=content
어디 to는 수신된 메시지의 uid입니다. 비어 있으면 모든 사람에게 메시지 내용을 푸시합니다.

Effect 2:

이 페이지 바닥글에 있는 온라인 통계 섹션을 참조하세요. 실시간 온라인 번호 및 온라인 페이지 통계

기타 애플리케이션

vmstat 서버 상태 모니터링 서비스

WEB 메시지 푸시 프레임워크

BrowserQuest PHP 버전 카메라 비디오 라이브 방송 Thrift RPC 원격 호출 프레임워크 Json RPC 원격 호출 프레임워크 채팅방 프레임워크 통계 모니터링 시스템 PHP 올챙이 실시간 대화형 게임 핫플래피 버드 멀티플레이어 온라인 버전 게임

설치 시작

먼저: 설명서를 참조하여 작업자 환경을 확인/설치하세요

1 다운로드: (web-msg-sender를 다운로드하고 다음 위치에 압축을 풉니다. 임의의 디렉토리

2. 시작: Linux 시스템을 프레임워크 디렉토리로 이동하고 php start.php start -d.windows를 실행합니다. 시스템이 프레임워크 디렉토리에 들어가서 start_for_win.bat 파일을 두 번 클릭하여 시작합니다.

3. /ip:2123 또는 http://도메인명:2123, 예: http://workerman.net:2123. 사진: (접속이 안되는 경우 서버 방화벽을 확인해 주시고, 클라우드 서버인 경우에는 반드시 보안 그룹도 설정)

프런트 엔드 테스트:

<script src=&#39;http://cdn.bootcss.com/socket.io/1.3.7/socket.io.js&#39;></script>
<script>
    // 连接服务端,workerman.net:2120换成实际部署web-msg-sender服务的域名或者ip
    var socket = io(&#39;http://workerman.net:2120&#39;);
    // uid可以是自己网站的用户id,以便针对uid推送以及统计在线人数
    uid = 123;
    // socket连接后以uid登录
    socket.on(&#39;connect&#39;, function(){
    	socket.emit(&#39;login&#39;, uid);
    });
    // 后端推送来消息时
    socket.on(&#39;new_msg&#39;, function(msg){
        console.log("收到消息:"+msg);
    });
    // 后端推送来在线数据时
    socket.on(&#39;update_online_count&#39;, function(online_stat){
        console.log(online_stat);
    });
</script>

백엔드는 API를 호출하여 모든 사용자에게 푸시합니다.

<?php
// 指明给谁推送,为空表示向所有在线用户推送
$to_uid = "";
// 推送的url地址,使用自己的服务器地址
$push_api_url = "http://workerman.net:2121/";
$post_data = array(
   "type" => "publish",
   "content" => "这个是推送的测试数据",
   "to" => $to_uid, 
);
$ch = curl_init ();
curl_setopt ( $ch, CURLOPT_URL, $push_api_url );
curl_setopt ( $ch, CURLOPT_POST, 1 );
curl_setopt ( $ch, CURLOPT_HEADER, 0 );
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt ( $ch, CURLOPT_POSTFIELDS, $post_data );
curl_setopt ($ch, CURLOPT_HTTPHEADER, array("Expect:"));
$return = curl_exec ( $ch );
curl_close ( $ch );
var_export($return);

Linux에서 실행하는 경우 PHP에 posix 및 pcntl 확장이 필요할 수 있습니다

WorkerMan 푸시 추가 YII2 [버전 2.0]

위 내용은 모든 분들의 학습에 도움이 되기를 바랍니다.

관련 권장사항:

PHP 파일 및 디렉터리 작업

php에서 짧은 링크를 생성하는 방법

위 내용은 PHP에 인스턴트 푸시 기능을 추가하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.