0

语境:

我正在为移动设备创建一个跨平台的多播客户端-服务器系统。我已经用 Java 创建了服务器端。我还创建了 android 客户端,它运行良好。

我想知道的:

我想知道是否可以使用此示例http://ntrg.cs.tcd.ie/undergrad/4ba2/multicast/antony/example.html中的侦听器程序在 iOS 中创建与我的服务器兼容的客户端- 我在 Java 中创建的一面。

如果上面的例子不起作用,有没有办法我仍然可以使用我的 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");
        }
    }
}

我测试了链接中的监听器代码,它运行良好。

4

1 回答 1

0

应该不是问题。iOS 是 POSIX 兼容的,Objective-C 是在 ANSI C 之上定义的,所以你可以将链接到的代码直接粘贴到你的项目中,为 Objective-C 构建一个简单的包装器,你的应用程序应该可以编译、运行和工作如预期的。

于 2013-04-18T15:53:48.160 回答