基于UDP的组播网络程序
生活随笔
收集整理的這篇文章主要介紹了
基于UDP的组播网络程序
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在服務器端: package Zubo; import java.io.IOException;
import java.net.DatagramPacket;
import java.net.InetAddress;
import java.net.MulticastSocket; public class MultiServer extends Thread{
?String s="通知:四至六周星期六上午網絡編程上機";
?int port=8001;//有時候有空指針的問題就是端口號和下面的地址不可以使用
?InetAddress ia=null;
?MulticastSocket ms=null;
?public MultiServer()
?{
??try{
???ms=new MulticastSocket(port);
???ia=InetAddress.getByName("239.7.8.9");
???ms.setTimeToLive(1);//設置組播套接字發送數據報范圍為本地連接
???ms.joinGroup(ia);//加入多組播
??}catch(IOException e){
???e.printStackTrace();
??}
?}
?public void run()
?{
??while(true){
???try {
????DatagramPacket packet=null;
????byte data[]=s.getBytes();
????packet=new DatagramPacket(data,data.length,ia,port);
????ms.send(packet);
????sleep(2000);
????} catch (Exception e) {
?????e.printStackTrace();
????}
??}
?}
?public static void main(String[] args) {
??new MultiServer().start();
?} }
在客戶端: package Zubo; import java.io.IOException;
import java.net.DatagramPacket;
import java.net.InetAddress;
import java.net.MulticastSocket;
public class MultiClient{
?public void service(){
??try{
???MulticastSocket ms=new MulticastSocket(8001);
???InetAddress ia=InetAddress.getByName("239.7.8.9");
???ms.joinGroup(ia);
???byte[] buffer=new byte[8192];
???while(true){
????DatagramPacket packet=new DatagramPacket(buffer,buffer.length);
????ms.receive(packet);
????String s=new String(packet.getData(),"UTF-8");
????System.out.println(s);
???}
??}catch(IOException e){
???e.printStackTrace();
??}
?}
?public static void main(String[] args) {
??new MultiClient().service();
?} }
import java.net.DatagramPacket;
import java.net.InetAddress;
import java.net.MulticastSocket; public class MultiServer extends Thread{
?String s="通知:四至六周星期六上午網絡編程上機";
?int port=8001;//有時候有空指針的問題就是端口號和下面的地址不可以使用
?InetAddress ia=null;
?MulticastSocket ms=null;
?public MultiServer()
?{
??try{
???ms=new MulticastSocket(port);
???ia=InetAddress.getByName("239.7.8.9");
???ms.setTimeToLive(1);//設置組播套接字發送數據報范圍為本地連接
???ms.joinGroup(ia);//加入多組播
??}catch(IOException e){
???e.printStackTrace();
??}
?}
?public void run()
?{
??while(true){
???try {
????DatagramPacket packet=null;
????byte data[]=s.getBytes();
????packet=new DatagramPacket(data,data.length,ia,port);
????ms.send(packet);
????sleep(2000);
????} catch (Exception e) {
?????e.printStackTrace();
????}
??}
?}
?public static void main(String[] args) {
??new MultiServer().start();
?} }
在客戶端: package Zubo; import java.io.IOException;
import java.net.DatagramPacket;
import java.net.InetAddress;
import java.net.MulticastSocket;
public class MultiClient{
?public void service(){
??try{
???MulticastSocket ms=new MulticastSocket(8001);
???InetAddress ia=InetAddress.getByName("239.7.8.9");
???ms.joinGroup(ia);
???byte[] buffer=new byte[8192];
???while(true){
????DatagramPacket packet=new DatagramPacket(buffer,buffer.length);
????ms.receive(packet);
????String s=new String(packet.getData(),"UTF-8");
????System.out.println(s);
???}
??}catch(IOException e){
???e.printStackTrace();
??}
?}
?public static void main(String[] args) {
??new MultiClient().service();
?} }
轉載于:https://blog.51cto.com/3948494/1167905
總結
以上是生活随笔為你收集整理的基于UDP的组播网络程序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HtmlAgilityPack的简单使用
- 下一篇: 二叉树的建立和遍历算法 - 数据结构和算