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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? clientclass.java

?? 一個實現網絡會議的軟件.包含三個包.其中一個包需JMF的支持.
?? JAVA
字號:
package clientPackage;

import java.awt.Point;
import java.beans.PropertyChangeSupport;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.ObjectInputStream;
import java.rmi.Naming;
import java.util.Hashtable;
import java.util.Vector;
import java.net.*;
import mediaPackage.Constants;
import serverPackage.*;
public class ClientClass extends Thread{
	private ServerFace remote;
	private ServerSocket listener;
	private Socket socket;
	private ObjectInputStream input;
	private PropertyChangeSupport propertySupport;
	private String myName;
	private int audioPort=2000;
	public ClientClass(String hostName, String portNumber) {
		propertySupport=new PropertyChangeSupport(this);
		try{
		String serverObject="//"+hostName+"/ServerClass";
		remote=(ServerFace)Naming.lookup(serverObject);
		listener=new ServerSocket(Constants.LISTEN_PORT+0,1);
		this.start();
		}catch(Exception e0){
			System.err.println("error in ClientClass Constructor");
			System.exit(0);
		}
	}
    public void run(){
    	try{
    		socket=listener.accept();
    		input=new ObjectInputStream(socket.getInputStream());
    		while (true){
    			int type=((Integer)input.readObject()).intValue();
    			switch(type){
    			case Constants.START_SESSION:
    				propertySupport.firePropertyChange("startSession",null,null);
    				break;
    			case Constants.STOP_SESSION:
    				propertySupport.firePropertyChange("stopSession",null,null);
    				break;
    			case Constants.SAY_YES:
    				propertySupport.firePropertyChange("sayYes",null,null);
    				break;
    			case Constants.SAY_NO:
    				propertySupport.firePropertyChange("sayNo",null,null);
    				break;
    			case Constants.LOGOUT_USER:
    				String name=(String)input.readObject();
    				propertySupport.firePropertyChange("removeUser",name,null);
    				break;
    			case Constants.LOGIN_USER:
    				UserConfig uConfig=(UserConfig)input.readObject();
    				propertySupport.firePropertyChange("addUser",null,uConfig);
    				break;
    			case Constants.PRIVATE_CHAT:
    				Vector v=new Vector();
    				String msg=(String)input.readObject();
    				String from=(String)input.readObject();
    				String to=(String)input.readObject();
    				v.add(msg);
    				v.add(from);
    				v.add(to);
    				v.add(new Integer(Constants.PRIVATE_CHAT));
    				propertySupport.firePropertyChange("receiveMessage",null,v);
    				break;
    			case Constants.PUBLIC_CHAT:
    				v=new Vector();
    				msg=(String)input.readObject();
    				from=(String)input.readObject();
    				to=(String)input.readObject();
    				v.add(msg);
    				v.add(from);
    				v.add(to);
    				v.add(new Integer(Constants.PUBLIC_CHAT));
    				propertySupport.firePropertyChange("receiveMessage",null,v);
    				break;
    			case Constants.RAISE_HAND:
    				propertySupport.firePropertyChange("raiseHand",null,null);
    				break;
    			case Constants.LOWER_ALL_HANDS:
    				propertySupport.firePropertyChange("lowerAllHands",null,null);
    				break;
    			case Constants.LOWER_HAND:
    				propertySupport.firePropertyChange("lowerHand",null,null);
    				break;
    			case Constants.STEP_IN_OUT:
    				propertySupport.firePropertyChange("stepInOut",null,null);
    				break;
    			case Constants.CLEAR_YES_NO:
    				propertySupport.firePropertyChange("clearYesNo",null,null);
    				break;
    			case Constants.UPDATE_CONTENT_MANAGER:
    				String url=(String)input.readObject();
    				propertySupport.firePropertyChange("addURL",null,url);
    				break;
    			case Constants.URL_CHANGED:
    				url=(String)input.readObject();
    				propertySupport.firePropertyChange("selectionChanged",null,url);
    				break;
    			}
    		}
    	}catch(Exception e0){
    		System.err.println("error in run");
    		e0.printStackTrace();
    		System.exit(0);
    	}
    }
    private void error(String err){
    	System.err.println(err);
    	System.exit(0);
    }
	public void registerUser() {
		try{
		}catch(Exception e){
			e.printStackTrace();
			error("in registerUser");
		}
		
	}

	public void addPropertyChangeListener(ClientUI clientUI) {
		propertySupport.addPropertyChangeListener(clientUI);
	}


	public void logoutUser(String myName) {
		try{
			remote.logoutUser(myName);
		}catch(Exception e){
			error("in logoutUser");
		}
	}


	public Hashtable getUsersConfig() {
		try{
			return remote.getUsersConfig();
		}catch(Exception e){
			e.printStackTrace();
			error("in getUsersConfig");
		}
		return null;
	}


	public Hashtable getURLTable() {
		try{
			return remote.getURLTable();
		}catch(Exception e){
			error("in getUrlTable");
		}
		return null;
	}


	public Vector getChatMessages() {
		try{
			return remote.getChatMessages();
		}catch(Exception e){
			error("in getChatMessage");
		}
		return null;
	}


	public void startSpeaking() {
		try{
			
		}catch(Exception e){
			error("");
		}
	}


	public String getMicLocker() {
		try{
			remote.getMicLocker();
		}catch(Exception e){
			error("in getMicLocker");
		}
		return null;
	}


	public void stopSpeaking() {
		try{
			
		}catch(Exception e){
			error("");
		}

	}


	public void sayYes() {
		try{
			remote.sayYes(myName);
		}catch(Exception e){
			error("in sayYes");
		}
		
	}


	public void sayNo() {
		try{
			remote.sayNo(myName);
		}catch(Exception e){
			error("say No");
		}
		
	}


	public void raiseHand() {
		try{
			remote.raiseHand(myName);
		}catch(Exception e){
			error("raiseHand");
		}

	}


	public void lowerHand() {
		try{
			remote.lowerHand(myName);
		}catch(Exception e){
			error("in LowerHand");
		}
		
	}


	public void stepInOut() {
		try{
			remote.stepInOut(myName);
		}catch(Exception e){
			error("stepInOut");
		}
		
	}


	public void lowerAllHands() {
		try{
			remote.lowerAllHands();
		}catch(Exception e){
			error("in lowerAllHands");
		}
		
	}


	public void clearYesNo() {
		try{
			remote.clearYesNo();
		}catch(Exception e){
			error("clearYesNo");
		}
		
	}


	public void giveMicToNext() {
		try{
			remote.giveMicToNext();
		}catch(Exception e){
			error("giveMicToNext");
		}
	}


	public void sendFeedback(int i, int j) {
		try{
			remote.sendFeedback(i,j);
		}catch(Exception e){
			error("sendFeedback");
		}
	}


	public void presenterURLChanged(String newURL) {
		try{
			remote.presenterURLChanged(newURL);
		}catch(Exception e){
			error("URLChanged");
		}
	}


	public void drawDot(Point point) {
		try{
			
		}catch(Exception e){
			error("");
		}
	}


	public void uploadURL(String url) {
		try{
			remote.startReceivingFile(url,null,0);
		}catch(Exception e){
			error("");
		}
	}


	public void uploadFile(File file) {
		try{
			remote.startReceivingFile("file:\\"+file.getName(),InetAddress.getLocalHost(),Constants.FILE_UPLOAD_PORT);
			ServerSocket serverSocket=new ServerSocket(Constants.FILE_UPLOAD_PORT,1);
			Socket socket=serverSocket.accept();
			BufferedOutputStream out=new BufferedOutputStream(socket.getOutputStream());
			FileInputStream in=new FileInputStream(file);
			int ch;
			while ((ch=in.read())!=-1) out.write(ch);
			out.close();
			in.close();
			socket.close();
			serverSocket.close();
		}catch(Exception e){
			error("in uploadfile");
		}
	}


	public void setMyCategory(int myCategory) {
		try{

		}catch(Exception e){
			error("");
		}
	}


	public int loginUser(String myName, String myPassword, int myCategory) {
		try{
			this.myName=myName;
			return remote.loginUser(myName,myPassword,myCategory,InetAddress.getLocalHost().getHostAddress(),audioPort);
		}catch(Exception e){
			e.printStackTrace();
			error("loginUser");
		}
		return Constants.NONE;
	}


	public boolean getSessionInfo() {
		try{
			return remote.getSessionInfo();
		}catch(Exception e){
			error("getSessionInfo");
		}
		return false;
	}


	public int[] receiveFeedback() {
		try{
			return remote.receiveFeedback();
		}catch(Exception e){
			error("in receivefeedback");
		}
		return null;
	}


	public void clearFeedback() {
		try{
			remote.clearFeedback();
		}catch(Exception e){
			error("");
		}
	}


	public void broadcastMessage(String msg, String sender, String receiver, Integer type) {
		try{
			remote.broadcastMessage(msg,sender,receiver,type);
		}catch(Exception e){
			error("in broadcast");
		}
	}


	public void stopSession() {
		try{
			remote.stopSession();
		}catch(Exception e){
			error("in stopsession");
		}
	}


	public void startSession() {
		try{
			remote.startSession();
		}catch(Exception e){
			error("startSession");
		}
	}
	private String getFileName(String urlStr)
	{
		if (urlStr == "" || urlStr == null)
		{
			System.out.println("In clientclass class: URL is empty.");
			return null;
		}
		
		int nameStartIndex = urlStr.lastIndexOf("/");
		if(nameStartIndex == -1)
			nameStartIndex = urlStr.lastIndexOf("\\");		
		if(nameStartIndex == -1)
			nameStartIndex = urlStr.lastIndexOf("//");
		
		String fileName = null;
		if(nameStartIndex != -1)
			fileName = urlStr.substring(nameStartIndex + 1);
		else
		{
			System.out.println("URL form error: " + urlStr 
						+ "\n URL should be in the form of protocol://Path/FileName");
		}
		return fileName;
	}

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品99久久久久久似苏梦涵 | 久久先锋影音av鲁色资源| 成人免费高清视频| 国产欧美精品一区| 不卡一区二区中文字幕| 自拍偷拍国产亚洲| 欧美三片在线视频观看| 日本不卡视频在线| 2014亚洲片线观看视频免费| 国产麻豆欧美日韩一区| 欧美国产精品久久| 在线亚洲+欧美+日本专区| 亚洲成人av福利| 精品日韩在线观看| 成人h动漫精品一区二| 一区二区三区在线视频播放 | 久久精品国产一区二区三| 久久久久亚洲综合| 97超碰欧美中文字幕| 亚洲第一福利视频在线| 精品日韩成人av| 99视频精品全部免费在线| 亚洲亚洲人成综合网络| 亚洲精品在线免费观看视频| 99r国产精品| 日本特黄久久久高潮| 欧美激情综合五月色丁香| 91久久线看在观草草青青| 美女精品自拍一二三四| 亚洲欧洲日产国码二区| 亚洲免费三区一区二区| 日韩一区二区三区在线| 国产sm精品调教视频网站| 亚洲第一主播视频| 国产精品美女久久久久aⅴ| 欧美人牲a欧美精品| 成人精品视频网站| 麻豆91在线观看| 亚洲欧美日韩精品久久久久| 日韩精品一区二区三区在线播放 | 自拍偷拍欧美精品| 精品乱人伦小说| 在线观看av一区二区| 国产精品一区二区在线看| 亚洲美女在线国产| 久久精品免费在线观看| 日韩丝袜美女视频| 91福利视频网站| 99久久精品国产麻豆演员表| 精品制服美女久久| 五月天婷婷综合| 亚洲女同女同女同女同女同69| 亚洲精品在线网站| 欧美一激情一区二区三区| 欧亚洲嫩模精品一区三区| 成人免费观看男女羞羞视频| 韩国视频一区二区| 日韩av中文字幕一区二区三区| 亚洲欧美国产77777| 国产精品无人区| 2021久久国产精品不只是精品| 7777精品伊人久久久大香线蕉超级流畅| 9i看片成人免费高清| 国产精品系列在线播放| 激情欧美一区二区| 精品一区中文字幕| 久久国产精品露脸对白| 日韩av午夜在线观看| 91论坛在线播放| 国产不卡视频一区| 国产传媒欧美日韩成人| 国产精品一区二区久久精品爱涩 | 亚洲精品国产无套在线观| 国产日韩三级在线| 国产欧美一区二区三区在线老狼 | 国产精品一区二区在线看| 久久精品国产一区二区三| 奇米一区二区三区| 美洲天堂一区二卡三卡四卡视频 | 免费xxxx性欧美18vr| 天堂午夜影视日韩欧美一区二区| 一区二区三区免费网站| 一二三四社区欧美黄| 亚洲第一主播视频| 美腿丝袜一区二区三区| 精品一区二区三区久久久| 国产乱码精品一品二品| 国产91对白在线观看九色| 国产sm精品调教视频网站| 99久久精品国产一区二区三区| 色噜噜久久综合| 欧美日韩三级在线| 欧美成人aa大片| 久久久噜噜噜久久人人看| 国产精品动漫网站| 99久久免费视频.com| 色婷婷亚洲婷婷| 欧美另类变人与禽xxxxx| 日韩精品一区二区在线观看| 久久久久久久综合日本| 《视频一区视频二区| 亚洲成人自拍偷拍| 激情文学综合丁香| 色综合久久久久久久久久久| 欧美日韩一区成人| 久久综合999| 亚洲免费观看高清完整版在线| 亚洲第一主播视频| 国产精品亚洲第一区在线暖暖韩国 | 久久国产夜色精品鲁鲁99| 国产不卡视频在线播放| 欧洲生活片亚洲生活在线观看| 7777精品伊人久久久大香线蕉超级流畅 | 日韩一区有码在线| 日韩国产在线一| 国产91在线观看丝袜| 欧美日韩免费观看一区二区三区| 欧美本精品男人aⅴ天堂| 国产精品久久久久久久久果冻传媒| 亚洲高清在线视频| 欧美一区欧美二区| 国产精品色一区二区三区| 亚洲国产日韩av| 国产91色综合久久免费分享| 欧美日韩欧美一区二区| 国产色产综合产在线视频| 亚洲第一在线综合网站| 粉嫩一区二区三区性色av| 欧美日韩高清一区二区不卡| 欧美国产日本韩| 老司机午夜精品| 日本大香伊一区二区三区| 久久久av毛片精品| 天天色图综合网| 色综合久久中文综合久久97| 精品国产免费一区二区三区四区| 亚洲精品欧美综合四区| 国产很黄免费观看久久| 91精品国产一区二区三区| 伊人夜夜躁av伊人久久| 成人一级黄色片| 欧美精品一区二区蜜臀亚洲| 亚洲成人动漫av| 91捆绑美女网站| 国产精品久久久久一区二区三区| 精油按摩中文字幕久久| 欧美精品第1页| 亚洲一区二区欧美| 91香蕉视频污| 中文字幕亚洲精品在线观看| 国产露脸91国语对白| 欧美xxxxxxxx| 久久www免费人成看片高清| 精品视频在线免费看| 亚洲精品美国一| 成人久久久精品乱码一区二区三区| 精品国免费一区二区三区| 秋霞午夜鲁丝一区二区老狼| 欧美性做爰猛烈叫床潮| 亚洲精品福利视频网站| 97超碰欧美中文字幕| 亚洲四区在线观看| 成人高清在线视频| 中文字幕五月欧美| 9久草视频在线视频精品| 中文字幕一区二区三区四区| 成人激情免费电影网址| 久久er精品视频| 久久亚洲一级片| 国产精品一区二区黑丝| 国产亚洲欧美激情| 国产91精品免费| 最新国产成人在线观看| 91蜜桃传媒精品久久久一区二区| 国产精品黄色在线观看| 99久久99久久精品国产片果冻| 国产精品国产三级国产aⅴ入口 | 亚洲美女精品一区| 欧美亚洲日本国产| 婷婷综合久久一区二区三区| 337p亚洲精品色噜噜| 久久不见久久见免费视频7| 亚洲精品在线一区二区| 成人综合日日夜夜| 亚洲免费观看高清完整版在线| 欧美性生活久久| 日韩影视精彩在线| 亚洲精品在线电影| 成人午夜看片网址| 亚洲精品伦理在线| 91精品国产综合久久蜜臀| 美女视频免费一区| 国产欧美日韩一区二区三区在线观看| 成人免费福利片| 亚洲午夜激情av| 精品久久免费看| 91在线国产福利| 三级一区在线视频先锋 | 欧美国产日韩亚洲一区| 色哟哟在线观看一区二区三区|