123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- using UnityEngine;
- using System.Collections;
- using System;
- using System.IO;
- using System.Net.Sockets;
-
- public class networkSocket : MonoBehaviour
- {
- public String host = "localhost";
- public Int32 port = 50000;
- internal Boolean socket_ready = false;
- internal String input_buffer = "";
- TcpClient tcp_socket;
- NetworkStream net_stream;
- StreamWriter socket_writer;
-
- void Update()
- {
- try{
- String LaserPointPos = ViveLaserPointer.sendMeToP5Bitch;
- writeSocket(LaserPointPos);
- if (!socket_ready)
- {
- Debug.Log("Trying to reconnect..");
- closeSocket();
- setupSocket();
- }
- } catch (Exception e) {
- socket_ready = false;
- Debug.Log(e + ", trying to reconnect..");
- }
- }
-
- void Awake()
- {
- Application.runInBackground = true;
- setupSocket();
- }
-
- void OnApplicationQuit()
- {
- closeSocket();
- }
-
- public void setupSocket()
- {
- try
- {
- tcp_socket = new TcpClient(host, port);
- net_stream = tcp_socket.GetStream();
- socket_writer = new StreamWriter(net_stream);
- socket_ready = true;
- Debug.Log("Connected");
- }
- catch (Exception e)
- {
- Debug.Log("Socket error: " + e);
- }
- }
-
- public void writeSocket(string line)
- {
- if (!socket_ready)
- return;
-
- line = line + "\r\n";
- socket_writer.Write(line);
- socket_writer.Flush();
- }
- public void closeSocket()
- {
- if (!socket_ready)
- return;
- socket_writer.Close();
- tcp_socket.Close();
- socket_ready = false;
- }
- }
|