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 연결이 성공적으로 설정되었으며 양방향 통신을 완료했음을 나타냅니다.