Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System.Net;
- using System.Net.Sockets;
- using System.Text;
- using System.Threading;
- public class Peer : MonoBehaviour {
- UdpClient peer;
- public InputField sendText;
- public Text receivedText;
- Thread receivedThread;
- public string receivedMessage = "waiting for message...";
- void Update ()
- {
- receivedText.text = receivedMessage;
- }
- void Start ()
- {
- }
- public void Send(InputField portField)
- {
- int port = int.Parse (portField.text);
- string message = sendText.text;
- IPAddress ipAddress = IPAddress.Parse ("127.0.0.1");
- IPEndPoint endpoint = new IPEndPoint(ipAddress,port);
- var bytes = Encoding.ASCII.GetBytes(message);
- peer.Send (bytes, bytes.Length, endpoint);
- }
- public void Listen ()
- {
- receivedThread = new Thread(new ThreadStart (Receive));
- receivedThread.IsBackground = true;
- receivedThread.Start ();
- }
- void Receive()
- {
- var remoteEndPoint = new IPEndPoint(IPAddress.Any,0);
- while (true)
- {
- var bytes = peer.Receive (ref remoteEndPoint);
- if (bytes != null)
- {
- lock (receivedMessage)
- {
- receivedMessage = remoteEndPoint.Address + ": " + Encoding.ASCII.GetString (bytes);
- }
- }
- //receivedText.text = remoteEndPoint.Address + ": " + Encoding.ASCII.GetString (bytes);
- }
- }
- public void StartPeer(InputField portField)
- {
- int port = int.Parse (portField.text);
- peer = new UdpClient (port);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement