>  기사  >  php教程  >  PHP는 인스턴트 채팅을 구현합니다 (Rongyun Communication 기반)

PHP는 인스턴트 채팅을 구현합니다 (Rongyun Communication 기반)

WBOY
WBOY원래의
2016-08-25 10:19:441823검색

PHP의 실시간 채팅(Rongyun Communication 기반)은 현재 단순한 예일 뿐입니다.
오늘 저는 매우 흥미로운 프로젝트인 인스턴트 메시징 도구를 보았습니다. QQ와 같은 인기 있는 채팅 도구가 있지만 직접 만들어 보는 것은 여전히 ​​흥미롭습니다.
이 사례는 Rongyun Communication을 기반으로 합니다. 공식 웹사이트 주소는 http://www.rongcloud.cn/입니다. 멋진 페이지가 없어서 직접 플러그인을 사용하고 있습니다. 내 관찰에 따르면 플러그인에는 최근 연락처 기능만 있습니다. 그럼 먼저 간단한 사례에 따라 구현해 보겠습니다. 마음에 들면 계속해서 직접 공부해도 됩니다!
먼저 Rongyun 계정을 등록한 다음 직접 인스턴스를 생성해야 합니다. --- 자세한 내용은 공식 웹사이트의 지침을 따르세요. 제가 제시한 예는 직접 사용할 수 있는 테스트 키 중 하나입니다. 아직은 tp5 프레임워크인데 어떻게 tp5 프레임워크를 구성하는지 모르기 때문에 더 이상 말하지 않겠습니다. 사용자 정보를 구현하기 위해 데이터베이스를 사용할 필요는 없습니다. 이는 주로 모든 사람에게 기능을 보여주기 위한 것입니다.
다양한 키에 대해 config.php<?php<br /> //配置文件<br /> return [<br /> <br /> &#039;APP_KEY&#039; => 'e0x9wycfxxx5q',<br>     'APP_SECRET' => 'F7sI8rkLtv'<br> ]; 구성 //구성 파일 복귀 [<br /> <br /> 'APP_KEY' => 'e0x9wycfxxx5q',<br> 'APP_SECRET' => 'F7sI8rkLtv'<br> ]; 그들이 준 열쇠가 너무 짧습니다. 계속하세요. 공식 SDK를 다운로드하여 확장 파일에 도입했습니다. 직접 호출할 수 있습니다. 채팅 페이지의 주요 메소드인 주요 부분부터 시작해 보겠습니다. <br> Index.php<br><?php<br /> 네임스페이스 appindexcontroller;<br /> <br /> rongyunServerAPI를 사용하세요;<br /> thinkController를 사용하세요.<br /> <br /> 클래스 인덱스 확장 컨트롤러<br /> {<br /> 공개 함수 _initialize()<br /> {<br /> If (비어 있음(쿠키('UID'))) {<br />                $this->redirect( url('login/index') );<br>        }<br> }<br> <br> //채팅메인 메소드<br> 공용 함수 인덱스()<br> {<br>          $appKey = config('APP_KEY');<br>         $appSecret = config('APP_SECRET');<br> <br>         $rongYun = 새로운 ServerAPI( $appKey, $appSecret);<br> <br>          $tx = "http://www.tk.com/static/images/1.jpg";<br> If( 2 == 쿠키('uid') ){<br>              $tx = "http://www.tk.com/static/images/2.jpg";<br>        }<br> $token = $rongYun->getToken( cookie('uid'), cookie('uname'), $tx );<br> <br>         $token = json_decode( $token, true )['token'];<br>           $this->할당([<br>            '토큰' => $token<br> ]);<br>           return $this->fetch();<br> }<br> <br> //모든 사용자 정보<br> 공개 함수 userInfo()<br> {<br>          $return['userlist'] = [<br> ~ ~ ~ ~ ];<br>          json 반환( $return );<br> }<br> //로그인 사용자 정보 공개 함수 onLine() {         $return['data'] = [<br> ~           ['id' => '1', 'status' => ~                               ['id' => '2', 'status' => ];<br>          json 반환( $return );<br> }<br> }<br>저는 주로 효과를 보여주기 위해 온갖 종류의 코드를 죽도록 작성했습니다. 좋아, 나머지 코드는 내 github에 가서 다운로드하고 공식 웹사이트에 가서 비교해 보세요. 주로 실행하는 방법을 보여줍니다. login.php를 살펴보세요:<code class="prettyprint linenums lang-php"><?php<br /> 네임스페이스 appindexcontroller; <?php<br /> namespace appindexcontroller;<br /> <br /> use thinkController;<br /> <br /> class Login extends Controller<br /> {<br /> public function index()<br /> {<br /> return $this->fetch();<br>     }<br> <br>     public function doLogin()<br>     {<br>         $param = input('param.');<br> <br>         if( '张三' == $param['uname'] ){<br>             cookie('uid', 1);<br>             cookie('uname', '张三');<br>         }else if( '李四' == $param['uname'] ){<br> <br>             cookie('uid', 2);<br>             cookie('uname', '李四');<br>         }<br> <br>         $this->redirect( url('index/index') );<br>     }<br> } thinkController를 사용하세요.

클래스 로그인 확장 컨트롤러PHP는 인스턴트 채팅을 구현합니다 (Rongyun Communication 기반) {
공용 함수 인덱스()PHP는 인스턴트 채팅을 구현합니다 (Rongyun Communication 기반) {
          return $this->fetch();
}PHP는 인스턴트 채팅을 구현합니다 (Rongyun Communication 기반)
공개 함수 doLogin()
{PHP는 인스턴트 채팅을 구현합니다 (Rongyun Communication 기반)          $param = input('param.');

If('장산'==$param['uname']){PHP는 인스턴트 채팅을 구현합니다 (Rongyun Communication 기반)                쿠키('uid', 1);
쿠키('uname', 'Zhang San');
~ ~                  
               쿠키('uid', 2);PHP는 인스턴트 채팅을 구현합니다 (Rongyun Communication 기반) 쿠키('uname', 'lee思');
       }
PHP는 인스턴트 채팅을 구현합니다 (Rongyun Communication 기반)           $this->redirect( url('index/index') );
}
}PHP는 인스턴트 채팅을 구현합니다 (Rongyun Communication 기반) 하하, 제 로그인은 단지 사용자를 구별하기 위한 것입니다(실제 프로젝트에서는 그렇지 않습니다!). 보시다시피 한 사용자는 Zhang San이고 다른 사용자는 Li Si입니다. 비밀번호를 임의로 입력하시면 됩니다. 시연 효과를 살펴보겠습니다.
먼저 로그인이 되어 있지 않은 경우, 로그인 페이지로 이동합니다:



Zhang San을 사용하여 로그인하는 경우 다음을 기억하십시오: Zhang San의 ID는 1이며 이는 매우 중요합니다! 사용자 이름은 정확하며 비밀번호는 무작위로 입력되었습니다. 로그인 후 페이지는 다음과 같습니다.

사용자 ID인 세션 ID를 입력합니다. Li Si는 2입니다. 그런 다음 Set Session을 클릭하면 다음 페이지가 나타납니다. 채팅을 시작해보세요: 그런 다음 브라우저를 다시 열면 다른 브라우저여야 합니다! 로그인하고 Li Si를 사용하여 로그인하면 다음이 표시됩니다. Zhang San이 당신에게 보낸 메시지를 봤습니다. 열어서 살펴보세요: 답글을 달 수도 있습니다. 하하, 흥미롭지 않나요? 물론 지금은 가장 간단한 기능만 구현해 놓았으니 관심 있는 분들은 계속해서 공부하셔도 됩니다! 프로젝트 다운로드 주소: https://github.com/nick-bai/talking. 안보이시면, 프로젝트가 업로드 중이니 나중에 보실 수 있습니다. 도움이 되셨다면 별점 주세요.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.