简体   繁体   中英

Multicast Client System for iOS with a Java Server-Side

CONTEXT:

I am creating a cross-platform multicast client-server system for mobile. I have created the server side in Java. I also created the android client side and it works perfectly.

WHAT I WANT TO KNOW:

I want to know if I could create a client side in iOS using the listener program in this example http://ntrg.cs.tcd.ie/undergrad/4ba2/multicast/antony/example.html that would be compatible with my server-side that I created in Java.

If the above example will not work is there a way I can still use my Java server-side and create a native iOS client system that is compatible with the Java server-side?

SAMPLE CODE OF JAVA SERVER SIDE FOR REFERENCE:

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");
        }
    }
}

I tested the listener code in the link and it worked perfectly.

Should not be a problem. iOS is POSIX compliant and Objective-C is defined on top of ANSI C, so you could paste the code you linked to with minor modifications straight into your project, build a simple wrapper to Objective-C and your app should compile, run and work as desired.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM