Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using UnityEngine;
- using System;
- using System.IO;
- using System.Linq;
- using System.Text;
- using System.Collections;
- using System.Collections.Generic;
- //using HUX.Interaction;
- //using HUX.Receivers;
- using UnityEngine.UI;
- //<JEM>Ignore unity editor and run this code in the hololens instead</JEM>
- #if !UNITY_EDITOR
- using System.Threading;
- using System.Threading.Tasks;
- using Windows.Networking;
- using Windows.Networking.Sockets;
- using Windows.Networking.Connectivity;
- using Windows.Storage.Streams;
- #endif
- //Able to act as a reciever
- public class ImageReciever : MonoBehaviour
- {
- Stream streamIn;
- Renderer rend;
- Texture2D texture;
- int counter = 0;
- byte[] byArray;
- #if !UNITY_EDITOR
- StreamSocket socket;
- StreamSocketListener listener;
- String port;
- String message;
- #endif
- // Use this for initialization
- void Start()
- {
- #if !UNITY_EDITOR
- rend = this.GetComponent<Renderer>();
- listener = new StreamSocketListener();
- port = "8080";
- listener.ConnectionReceived += _receiver_socket_ConnectionReceived;
- listener.Control.KeepAlive = false;
- Listener_Start();
- #endif
- }
- #if !UNITY_EDITOR
- private async void Listener_Start()
- {
- Debug.Log("Listener started");
- try
- {
- await listener.BindServiceNameAsync(port);
- }
- catch (Exception e)
- {
- Debug.Log("Error: " + e.Message);
- }
- Debug.Log("Listening");
- }
- private async void _receiver_socket_ConnectionReceived(StreamSocketListener sender, StreamSocketListenerConnectionReceivedEventArgs args)
- {
- try
- {
- while (true)
- {
- using (var dw = new DataWriter(args.Socket.OutputStream))
- {
- dw.WriteString("Hello There from C#");
- await dw.StoreAsync();
- dw.DetachStream();
- }
- using (var reader = new DataReader(args.Socket.InputStream))
- {
- reader.InputStreamOptions = InputStreamOptions.Partial;
- uint numFileBytes = await reader.LoadAsync(reader.UnconsumedBufferLength);
- byArray = new byte[numFileBytes];
- reader.ReadBytes(byArray);
- }
- }
- } catch (Exception e)
- {
- Debug.Log("disconnected!!!!!!!! " + e);
- }
- }
- #endif
- //Do nothing every frame
- void Update()
- {
- File.WriteAllBytes("Image.txt", byArray);
- texture.LoadImage(byArray);
- this.GetComponent<Renderer>().material.mainTexture = texture;
- }
- }
Add Comment
Please, Sign In to add comment