2013-07-12 235 views
0

我做了一個簡單的套接字serer腳本和客戶端腳本。套接字服務器連接錯誤

如果我在同一個項目中運行這兩個腳本沒有問題,但如果我從Unity3D遊戲引擎運行客戶端腳本沒有連接,並且控制檯說我需要一個跨域策略。

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
//using System.Threading.Tasks; 
using System.Net; 
using System.Net.Sockets; 
namespace SocketServer 
{ 
    class Program 
    { 
     static byte[] Buffer { get; set; } 
     static Socket sck; 

     static void Main(string[] args) 
     { 

      sck = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); 
      sck.Bind(new IPEndPoint(0, 5111)); 
      sck.Listen(100); 


      Socket accepted = sck.Accept(); 
      Buffer = new Byte[accepted.SendBufferSize]; 
      int bytesRead = accepted.Receive(Buffer); 
      byte[] formatted = new byte[bytesRead]; 
      for (int i = 0; i < bytesRead; i++) 
      { 
       formatted[i] = Buffer[i]; 
      } 

      string strData = Encoding.ASCII.GetString(formatted); 
      Console.Write(strData + "\r\n"); 
      Console.Read(); 
      sck.Close(); 
      accepted.Close(); 
     } 
    } 
} 
+0

什麼是錯誤和/或問題?!? – tzerb

+0

這是由網絡播放器或桌面運行嗎? –

回答

1

如果你的統一建立設置是網絡播放器,那麼你會得到跨域的政策錯誤。另一方面,桌面/獨立版本設置應該沒有跨域策略問題。您可以使用Unity standalone和Raknet(適用於套接字)實現套接字實現。我已經實現了它並可以像socket一樣進行通信。這裏是文檔鏈接http://www.jenkinssoftware.com/raknet/manual/detailedimplementation.html

相關問題