亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? chatserver.java

?? 基于JMF的音視頻聊天程序源代碼.在CSDN上找到的
?? JAVA
字號(hào):
/*
 * ChatServer.java	21/06/07
 * author: Max
 * MSN: zengfc@21cn.com
 * QQ: 22291911
 * Email: zengfc@21cn.com
 *
 */

import java.net.*;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class ChatServer {

    DatagramSocket ds;

    byte[] recbuf = new byte[1024];

    DatagramPacket rec = new DatagramPacket(recbuf, recbuf.length);

    int port;

    String newAddress = "";
    String addressList = "";
    String sendAddressList = "";

    public ChatServer(int port) {
        this.port = port;
    }

    public void init() throws Exception {//初始化DatagramSocket
        if (port < 1024 || port > 65535) {
            System.out.println("自定義的服務(wù)端口號(hào)錯(cuò)誤!系統(tǒng)自動(dòng)指定端口為“2008”。");
            ds = new DatagramSocket(2008);
        } else {
            ds = new DatagramSocket(port);
        }
    }

    public void start() throws Exception {
        println("服務(wù)器開始運(yùn)行");
        println("服務(wù)端口:" + port);
        init();
        receive();
    }

    public void receive() {
        for ( ; ; ) {
            try {
                ds.receive(rec);

                String msg = new String(rec.getData(), rec.getOffset(), rec.getLength());
                String natAddress = rec.getAddress().toString().substring(1);
                int natPort = rec.getPort();

                String Num = msg.substring(0,1);
                msg = msg.substring(2);
                String line;

                switch(Integer.parseInt(Num)){//1表示管理UDP,2表示音頻UDP,3表示音頻RTCP UDP,4表示視頻UDP,5表示視頻RTCP UDP,6表示離開,7表示保持連接
                    case 1 : {
                        line = "一個(gè)新的用戶登錄: " + msg + "  NAT地址: " + natAddress + " 管理端口: " + natPort;
                        sendAddressList = sendAddressList + natAddress + " " + natPort + " ";
                        newAddress = msg + ":" + natAddress + ":" + natPort;
                        println(line);
                        break;
                    }

                    case 2 : {
                        line = "音頻端口: " + natPort;
                        newAddress = newAddress + ":" + natPort;
                        println(line);
                        break;
                    }

                    case 3 : {
                        line = "音頻RTCP端口: " + natPort;
                        newAddress = newAddress + ":" + natPort;

                        println(line);
                        break;

                    }

                    case 4 : {
                        line = "視頻端口: " + natPort;
                        newAddress = newAddress + ":" + natPort;

                        println(line);
                        break;
                    }

                    case 5 : {
                        line = "視頻RTCP端口: " + natPort;
                        newAddress = newAddress + ":" + natPort;
                        println(line);
                        if (!sendAddressList.equals(""))
                            doSend("1 " + newAddress, sendAddressList);
                        if(!addressList.equals("")){
                            String address[] = newAddress.split(":");
                            doSend("7 " + addressList,
                                   address[1] + " " + address[2]);
                        }
                        addressList = addressList + newAddress + " ";
                        break;
                    }

                    case 6 : {
                        line = "一個(gè)客戶離開: " + msg + "  NAT地址: " + natAddress + " 管理端口: " + natPort;
                        println(line);
                        delAddress(msg, natAddress, natPort);
                        if(!sendAddressList.equals(""))
                            doSend("6 " + msg + ":" + natAddress, sendAddressList);
                        break;
                    }

                    case 7 : break;
                }

            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

    public void doSend(String msgSend, String sendAddressList) throws Exception {
        String[] s = sendAddressList.split(" ");
        byte[] data = msgSend.getBytes();
        for(int i =0; i < s.length; i++){
            DatagramPacket pack = new DatagramPacket(data, data.length, InetAddress.getByName(s[i]), Integer.parseInt(s[++i]));
            ds.send(pack);
        }
    }

    public void delAddress(String msg, String natAddress, int ctrlPort){

        String regEx = msg + ":" + natAddress + ":" + ctrlPort + ":.{1,5}:.{1,5}:.{1,5}:.{1,5} ";
        Pattern p = Pattern.compile(regEx);
        Matcher m=p.matcher(addressList);

        String s = m.replaceAll("");
        addressList = s;

        regEx = natAddress + " " + ctrlPort + " ";
        p = Pattern.compile(regEx);
        m = p.matcher(sendAddressList);
        s = m.replaceAll("");
        sendAddressList = s;
    }

    public void println(String s) {
        Date nowTime = new Date();
        SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss aa", Locale.US);
        System.out.println(fmt.format(nowTime) + "----" + s);
    }

    public static void main(String[] args) throws Exception {
        new ChatServer(2008).start();
    }
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本一区二区三区电影| 欧美高清视频在线高清观看mv色露露十八| 日韩午夜在线播放| 麻豆国产精品官网| 欧美α欧美αv大片| 精品一区二区三区在线观看 | 自拍偷自拍亚洲精品播放| 成人av电影在线| 一区二区在线观看免费视频播放| 欧美丝袜丝nylons| 五月综合激情日本mⅴ| 欧美电影免费观看高清完整版在线| 久久国产麻豆精品| 中文字幕不卡在线观看| 色国产精品一区在线观看| 亚洲成人三级小说| 久久综合九色综合97_久久久| 国产成人免费在线| 伊人婷婷欧美激情| 日韩片之四级片| 高清在线观看日韩| 亚洲一区二区影院| 精品国产亚洲在线| 91免费版pro下载短视频| 香蕉影视欧美成人| 久久精品网站免费观看| 91福利国产成人精品照片| 麻豆成人91精品二区三区| 国产欧美一区二区三区沐欲| 色婷婷激情一区二区三区| 麻豆精品在线看| 国产精品免费av| 在线91免费看| 成人aa视频在线观看| 日韩精品一二区| 国产精品麻豆99久久久久久| 欧美久久一二三四区| 国产91精品一区二区麻豆亚洲| 亚洲午夜在线观看视频在线| www国产成人| 欧美日韩一区久久| 成人精品免费看| 日韩精品亚洲一区| 亚洲久草在线视频| 久久久久久久综合| 这里只有精品电影| 色综合久久综合网97色综合| 国产精品一区一区| 视频一区二区中文字幕| 亚洲欧洲制服丝袜| 国产亚洲欧美日韩在线一区| 欧美日韩成人一区二区| 91亚洲国产成人精品一区二区三| 紧缚捆绑精品一区二区| 亚洲国产成人av| 亚洲视频免费在线| 国产日韩欧美亚洲| 日韩精品一区二区三区四区 | 91精彩视频在线观看| 国产sm精品调教视频网站| 美国一区二区三区在线播放| 亚洲成av人影院在线观看网| 亚洲欧美日韩中文播放| 国产人久久人人人人爽| 337p粉嫩大胆色噜噜噜噜亚洲 | 亚洲一级在线观看| 亚洲欧洲另类国产综合| 国产日韩欧美电影| 国产三级一区二区| 久久免费午夜影院| 精品久久久久久久一区二区蜜臀| 欧美另类z0zxhd电影| 欧美视频精品在线| 欧美色精品在线视频| 欧美色图一区二区三区| 欧美午夜免费电影| 欧美日本高清视频在线观看| 欧美伊人久久久久久久久影院| 色欧美乱欧美15图片| 色婷婷av久久久久久久| 一本大道综合伊人精品热热| 99久久精品国产毛片| 99久久精品免费看国产 | 国产成人av电影在线观看| 久久精品国产99国产精品| 久久超碰97人人做人人爱| 久久99精品久久久久婷婷| 理论片日本一区| 国产一二三精品| 成人免费观看av| 97久久人人超碰| 欧美午夜不卡视频| 91精品久久久久久久91蜜桃| 欧美一级欧美一级在线播放| 日韩精品一区二| 欧美极品少妇xxxxⅹ高跟鞋| 亚洲欧洲精品天堂一级| 一区二区三区四区蜜桃| 亚洲mv大片欧洲mv大片精品| 免费在线一区观看| 国内成人免费视频| av高清久久久| 欧美日韩国产高清一区二区三区| 91精品国产色综合久久| 日韩欧美你懂的| 国产日韩欧美麻豆| 久久精品国产成人一区二区三区 | 5566中文字幕一区二区电影| 日韩三级视频在线观看| 国产女主播视频一区二区| 亚洲免费伊人电影| 免费人成黄页网站在线一区二区| 国产不卡视频在线播放| 日本韩国欧美一区| 日韩免费电影网站| 亚洲人成小说网站色在线 | 亚洲免费av观看| 日韩va欧美va亚洲va久久| 国产福利视频一区二区三区| 欧日韩精品视频| 久久精品亚洲精品国产欧美 | 亚洲精品高清在线观看| 日韩精品乱码免费| eeuss影院一区二区三区 | 国产精品99久久久久久久女警 | 一区二区三区中文免费| 免费观看久久久4p| 91女人视频在线观看| 欧美一级夜夜爽| 亚洲一区在线观看视频| 久久国产欧美日韩精品| 欧美天天综合网| 国产精品久久久久影视| 日本午夜精品一区二区三区电影| 不卡一区二区中文字幕| 欧美一区二区三区人| 综合网在线视频| 国产一区二区久久| 在线电影院国产精品| 成人欧美一区二区三区在线播放| 老汉av免费一区二区三区| 一本色道久久综合狠狠躁的推荐| 欧美va日韩va| 日韩在线播放一区二区| 91黄色激情网站| 国产精品不卡一区| 国产乱码精品一区二区三区av| 欧美日韩国产a| 亚洲激情成人在线| 不卡的av在线播放| 久久久777精品电影网影网 | 精品99久久久久久| 日韩中文欧美在线| 在线欧美日韩国产| 亚洲欧美综合色| 成人丝袜视频网| 国产人久久人人人人爽| 国产一区二区三区不卡在线观看| 欧美一区二区三区思思人| 亚洲国产精品久久人人爱蜜臀| 91国在线观看| 亚洲精选在线视频| 91免费在线看| 亚洲三级免费电影| 91网页版在线| 亚洲精品国产高清久久伦理二区| av福利精品导航| 亚洲男同性恋视频| 99国产一区二区三精品乱码| 中文字幕一区二区三区在线观看 | 国产精品每日更新在线播放网址 | 国产精品日产欧美久久久久| 国产成人午夜片在线观看高清观看| 久久在线观看免费| 国产一区二区日韩精品| 久久久久久久久久久久久女国产乱| 精品亚洲aⅴ乱码一区二区三区| 精品国一区二区三区| 国产一区欧美一区| 国产欧美日产一区| 91在线视频18| 一区二区三区美女| 4438x亚洲最大成人网| 蜜臀av在线播放一区二区三区| 精品久久久久久久久久久久久久久久久 | 色婷婷国产精品综合在线观看| 26uuuu精品一区二区| 国产成人av资源| 亚洲色欲色欲www| 欧美精品v国产精品v日韩精品| 日本欧美一区二区三区| www久久久久| 91偷拍与自偷拍精品| 亚洲一区二区精品3399| 欧美一区二视频| 国产成人亚洲精品青草天美| 亚洲视频免费在线观看| 69p69国产精品| 国产高清久久久久| 亚洲一区二区偷拍精品|