composer require workerman/workerman 사용하여 Workerman 프레임 워크를 설치하십시오server.php 이라는 새 스크립트 파일을 작성하고 다음을 작성하십시오.
<?php
require_once __DIR__ . '/vendor/autoload.php';
use Workerman\Worker;
// aWorker감시 장치2345포트,사용websocket규약
$worker = new Worker('websocket://0.0.0.0:2345');
// 시작4각 프로세스에서 제공하는 서비스
$worker-> 카운트 = 4;
// 메시지를받은 후 콜백 $ worker-> onMessage = function ($ connection, $ data) {
// 수신 된 클라이언트 데이터를 처리 // 클라이언트에 회신 $ connection-> send ( 'hello, unity3d!');
};
// 작업자를 시작합니다
작업자 :: runall ();
?>
위의 코드는 WebSocket 프로토콜을 듣는 서버를 생성하여 동시에 여러 클라이언트의 연결 요청을 처리 할 수 있습니다.
server.php 있는 디렉토리로 전환하고 다음 명령을 실행하십시오.PHP Server.php
구성이 올바른 경우 서버가 시작되었음을 나타내는 다음 출력이 표시됩니다.
-------------------------------------------------------------------------------------------------------------------------------- 직원 시작 ... -------------------------------------------------------------------------------------------------------------------------------- 노동자가 시작했습니다 ...
SocketClient.cs 에서 Unity라는 스크립트를 만듭니다.
UnityEngine 사용;
Socketio 사용;
공개 클래스 소켓 클리어 : Monobehaviour
{
개인 소켓 성분 소켓;
개인 void start ()
{
소켓 = getComponent <Socketiocomponent> ();
// 서버 소켓에서 메시지를 듣습니다 ( "메시지", onMessage);
// 연결 socket.connect ()를 만듭니다.
// 서버 socket.emit ( "메시지", "hello, server!")에 메시지를 보냅니다.
}
개인 void OnMessage (Socketioevent e)
{
// 메시지 debug.log (e.data.toString ())을 출력합니다.
}
}
스크립트는 클라이언트와 서버 간의 메시징 프로세스를 구현하고 서버에 연결하고 Unity가 시작될 때 리턴 컨텐츠를 출력합니다.
안녕하세요, Unity3d!
이는 Unity Client와 PHP 서버간에 WebSocket 연결이 성공적으로 설정되었으며 양방향 통신을 완료했음을 나타냅니다.