Advertisement
Guest User

Untitled

a guest
Jun 24th, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.08 KB | None | 0 0
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using UnityEngine.Networking;
  5.  
  6. public class test : MonoBehaviour {
  7.  
  8. int m_MyHostId;
  9. int m_PeerId;
  10.  
  11. byte error;
  12.  
  13. bool connected = false;
  14.  
  15. byte[] b = new byte[500];
  16.  
  17. void Start()
  18. {
  19. NetworkTransport.Init ();
  20. ConnectionConfig myConfig = new ConnectionConfig();
  21. myConfig.AddChannel(QosType.Reliable);
  22.  
  23. HostTopology hostTopology = new HostTopology(myConfig, 10); //up to 10 connection allowed
  24. m_MyHostId = NetworkTransport.AddHost(hostTopology, 9999);
  25.  
  26. m_PeerId = NetworkTransport.Connect(m_MyHostId, "127.0.0.1", 9999, 0, out error);
  27. if ((NetworkError)error != NetworkError.Ok)
  28. {
  29. Debug.LogError("Network error is occurred: " + (NetworkError)error);
  30. }
  31. }
  32.  
  33. void Update()
  34. {
  35. int recHostId;
  36. int connectionId;
  37. int channelId;
  38. byte[] recBuffer = new byte[1024];
  39. int bufferSize = 1024;
  40. int dataSize;
  41.  
  42. if (connected) {
  43. for (int i = 0; i < 2; i++) {
  44.  
  45. NetworkTransport.Send (m_MyHostId, m_PeerId, 0, b, b.Length, out error);
  46.  
  47. if ((NetworkError)error != NetworkError.Ok)
  48. {
  49. Debug.LogError("Network error is occurred: " + (NetworkError)error);
  50. connected = false;
  51. }
  52. }
  53. }
  54.  
  55. while (true) {
  56. NetworkEventType recData = NetworkTransport.Receive (out recHostId, out connectionId, out channelId, recBuffer, bufferSize, out dataSize, out error);
  57.  
  58. if ((NetworkError)error != NetworkError.Ok) {
  59. Debug.LogError ("Network error is occurred: " + (NetworkError)error);
  60. connected = false;
  61. break;
  62. }
  63.  
  64. if (recData == NetworkEventType.Nothing) {
  65. break;
  66. }
  67.  
  68. switch (recData) {
  69. case NetworkEventType.ConnectEvent:
  70. Debug.Assert (connectionId == m_PeerId, "Success");
  71. connected = true;
  72. break;
  73. case NetworkEventType.DataEvent:
  74. Debug.Log ("Received Data");
  75. break;
  76. case NetworkEventType.DisconnectEvent:
  77. Debug.Assert (connectionId == m_PeerId, "Failure");
  78. connected = false;
  79. break;
  80. default:
  81. break;
  82. }
  83. }
  84.  
  85. System.GC.Collect ();
  86. }
  87. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement