브라우저를 통하지 않고 웹 서버가 우분투 데스크탑의 소켓 포트로 직접 명령을 송출하여 실시간 대화 레이어를 생성하는 네이티브 통합 아키텍처입니다.
우분투 데스크탑 백그라운드에서 서버의 신호를 무한 루프로 감시하는 쉘 스크립트입니다.
# is_native_talk.sh 생성 및 작성
#!/bin/bash
while true; do
# 서버로부터 신호 대기 (Port 9999)
MESSAGE=$(nc -l -p 9999)
if [ ! -z "$MESSAGE" ]; then
# Zenity 대화창 사출
REPLY=$(zenity --entry --title="Netcity Talk" --text="$MESSAGE" --width=400)
# 답변이 있을 경우 서버(1.2.3.4)의 9998번 포트로 전송
if [ ! -z "$REPLY" ]; then
echo "REPLY:$REPLY" | nc -w 1 1.2.3.4 9998
fi
fi
done
관리자 대시보드에서 우분투 팝업을 트리거하는 로직입니다.
<?php
// is_send_signal.php
$admin_ip = 'ADMIN_PC_IP_ADDRESS';
$socket = @fsockopen($admin_ip, 9999, $errno, $errstr, 2);
if ($socket) {
fwrite($socket, "시스템 알림: 새 인사이트 승인이 필요합니다.");
fclose($socket);
echo "Signal Sended.";
} ?>
sudo apt install zenity netcat
sudo ufw allow from SERVER_IP to any port 9999
우분투 메뉴의 [자동 시작 애플리케이션(Startup Applications)]을 열고 새로운 항목을 추가하십시오.
명령어 예시: bash /home/user/is_native_talk.sh