具有Java服务器端的iOS多播客户端系统
背景: 我正在为移动设备创建一个跨平台多播客户机-服务器系统。我已经用Java创建了服务器端。我还创建了android客户端,它工作得非常好 我想知道的是: 我想知道是否可以使用本例中的侦听器程序在iOS中创建一个客户端,该程序将与我用Java创建的服务器端兼容 如果上面的示例不起作用,有没有一种方法我仍然可以使用Java服务器端并创建与Java服务器端兼容的本机iOS客户端系统 JAVA服务器端示例代码供参考:具有Java服务器端的iOS多播客户端系统,java,ios,objective-c,client,multicast,Java,Ios,Objective C,Client,Multicast,背景: 我正在为移动设备创建一个跨平台多播客户机-服务器系统。我已经用Java创建了服务器端。我还创建了android客户端,它工作得非常好 我想知道的是: 我想知道是否可以使用本例中的侦听器程序在iOS中创建一个客户端,该程序将与我用Java创建的服务器端兼容 如果上面的示例不起作用,有没有一种方法我仍然可以使用Java服务器端并创建与Java服务器端兼容的本机iOS客户端系统 JAVA服务器端示例代码供参考: import java.net.DatagramPacket; import ja
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");
}
}
}
我在链接中测试了侦听器代码,它工作得非常好 应该不是问题。Objective-C是在ANSI C之上定义的,因此您可以将链接的代码直接粘贴到您的项目中,并为Objective-C构建一个简单的包装器,这样您的应用程序就可以根据需要编译、运行和工作。你所说的包装器是什么意思,我想既然iOS编程是Objective-C,我可以只使用代码进行一些小的修改(我是iOS编程新手,所以这可能是一个愚蠢的问题)?