2013-04-18 68 views
0

上下文:適用於iOS的多播客戶端系統,帶有Java服務器端

我正在爲移動設備創建一個跨平臺多播客戶端 - 服務器系統。我用Java創建了服務器端。我也創建了Android客戶端,它完美的工作。

我想知道:

我想知道如果我能在這個例子中http://ntrg.cs.tcd.ie/undergrad/4ba2/multicast/antony/example.html這將是與我在Java中創建了服務器端兼容使用監聽程序的iOS創建一個客戶端。

如果上面的例子不起作用,我仍然可以使用我的Java服務器端並創建一個與Java服務器端兼容的本機iOS客戶端系統嗎?僅供參考JAVA服務器端

示例代碼:

import java.net.DatagramPacket; 
import java.net.InetAddress; 
import java.net.MulticastSocket; 
//more imports... 

class Server2 { 

    public static MulticastSocket ms1; 

    public static void main(String[] args) throws IOException { 

      try { 
       InetAddress sessAddr1 = InetAddress.getByName("224.2.76.24"); 
       ms1 = new MulticastSocket(5500); 
       ms1.joinGroup(sessAddr1); 

       while(true) { 
        byte[] message = new byte[1024]; 
        message = getIpAddress().getBytes(); 
        DatagramPacket dp = new DatagramPacket(message, message.length, sessAddr1, 5500); 
        ms1.send(dp);    
        System.out.println(String.format("Sent message: %s", message)); 

        Thread.sleep(1000); 
       } 
      } catch (Exception e) { 
       System.out.println(String.format("Error: %s", e)); 
      }  
    } 

    public static String getIpAddress() { 
     InetAddress ip; 

     try { 
      ip = InetAddress.getLocalHost(); 
      return(String.format("%s",ip.getHostAddress()));  
     } catch (Exception e) { 
      return("false"); 
     } 
    } 
} 

我測試的聽者代碼的鏈接,它完美地工作。

回答

0

應該不是問題。 iOS is POSIX compliant和Objective-C是在ANSI C之上定義的,所以你可以把你鏈接的代碼粘貼到你的項目中,直接粘貼到你的項目中,構建一個簡單的包裝到Objective-C,你的應用程序應該按照需要編譯,運行和工作。

+0

你是什麼意思的包裝,我認爲自iOS編程Objective-C我可以只使用代碼稍作修改(我是新的iOS編程,所以這可能是一個愚蠢的問題)? – aagarwal

+0

我測試了鏈接中的代碼,它完美地工作。 – aagarwal

相關問題