日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

java电子通讯录毕业设计_(C)JAVA001电子通讯录(带系统托盘)

發(fā)布時(shí)間:2025/3/8 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java电子通讯录毕业设计_(C)JAVA001电子通讯录(带系统托盘) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

打開Server Socket,創(chuàng)建一個(gè)服務(wù)器型套接字和一個(gè)普通套接字,服務(wù)器型套接字在指定端口為客戶端請求的Socket 服務(wù);? 使用ServerSocket類的accept()方法使服務(wù)器型套接字處于監(jiān)聽狀態(tài)并把監(jiān)聽結(jié)果返回給普通套接字;? 為該普通套接字創(chuàng)建輸入和輸出流;? 從輸入和輸出流中讀入或?qū)懭胱止?jié)流,進(jìn)行相應(yīng)的處理,并將結(jié)果返回給客戶端;? 在客戶端和服務(wù)器工作結(jié)束后關(guān)閉所有的對象,如服務(wù)器型的套接字,普通套接字,輸入和輸出流。正是由于Java系統(tǒng)具有基于Socket的靈活通信機(jī)制,因而其應(yīng)用程序能自由地打開和訪問網(wǎng)絡(luò)上的對象,就象在本地文件系統(tǒng)中一樣。(2) Applet之間的通信:Applet之間的通信使用Applet Context類的getApplet()方法。只要在程序中加入 Applet oneapplet=getAppletContext().getApplet(“first”);便可使用name為first的Applet中的方法了。在該課題中大量使用了該種通信方法,因?yàn)閷iT同服務(wù)器端通信的 Applet中包含接收信息方法和發(fā)送信息方法,所有客戶端的Applet都要使用負(fù)責(zé)通信的Applet中的方法,所以客戶端的Applet同負(fù)責(zé)通信的Applet必須進(jìn)行通信。 copyright paper51.com

//服務(wù)器端程序S.java 負(fù)責(zé)與客戶端通信這部分的代碼? 如下

http://www.paper51.com

import java.io.*;import java.net.*;import java.lang.*;import T2; 內(nèi)容來自論文無憂網(wǎng) www.paper51.com

class ThreadEchoHandler extends Thread //創(chuàng)建線程{T2 theT2=new T2(); paper51.com

Socket incoming;int counter; 內(nèi)容來自www.paper51.com

ThreadEchoHandler(Socket i,int c){ incoming=i;counter=c; } copyright paper51.com

public void run(){try{DataInputStream in=new DataInputStream(incoming.getInputStream());DataOutputStream out=new DataOutputStream(incoming.getOutputStream());System.out.println ("hello"); boolean done=false; http://www.paper51.com

while(!done){ String aa="";String str=in.readUTF(); //從客戶端得到字符串

內(nèi)容來自論文無憂網(wǎng) www.paper51.com

//在此加入各自的服務(wù)程序 copyright paper51.com

System.out.println (str);

內(nèi)容來自www.paper51.com

theT2.pass(str); //解碼theT2.tongji(); //修改監(jiān)控庫中的信息 copyright paper51.com

aa=theT2.guan(); //操縱數(shù)據(jù)庫System.out.println ("string z is:"+aa); copyright paper51.com

if(aa.compareTo("null")!=0 ) //若是查詢數(shù)據(jù)庫,返回查詢后的結(jié)果{ //若不是查詢數(shù)據(jù)庫,不向客戶端輸出信息 out.writeUTF(aa);out.flush(); }}//while

內(nèi)容來自www.paper51.com

incoming.close(); //線程關(guān)閉

內(nèi)容來自論文無憂網(wǎng) www.paper51.com

}//try

內(nèi)容來自論文無憂網(wǎng) www.paper51.com

catch(IOException e){System.out.println(e);}}//end run}

paper51.com

//----------------------------------------class S{ public static void main(String[] args){ int i=1;try{ServerSocket s=new ServerSocket(1111);for(;;){Socket incoming=s.accept();System.out.println("connect: "+i);new ThreadEchoHandler(incoming,i).start();i++;}}catch(Exception e){ System.out.println(e); }} } http://www.paper51.com

copyright paper51.com

//客戶端通信小應(yīng)用程序 Echo.java

copyright paper51.com

import java.io.*;import java.net.*;import java.awt.*;import java.applet.*; 內(nèi)容來自論文無憂網(wǎng) www.paper51.com

public class Echo extends Applet{TextArea ta;Socket echoSocket;DataOutputStream os;DataInputStream is;String Line;

內(nèi)容來自論文無憂網(wǎng) www.paper51.com

public void init() { setBackground(Color.white);ta=new TextArea(5,80);ta.setEditable(false);add(ta); try{echoSocket=new Socket("10.102.4.41",1111);} //與服務(wù)器建立連接catch(IOException e){System.out.println("error");} copyright paper51.com

} 內(nèi)容來自www.paper51.com

//本系統(tǒng)還做成了系統(tǒng)托盤,比較時(shí)尚的小功能 http://www.paper51.com

http://www.paper51.com

融合了JDK1。6的全新功能

paper51.com

public void st(String stri) //發(fā)送字符串的方法{try{ DataOutputStream os=new DataOutputStream(echoSocket.getOutputStream());DataInputStream is=new DataInputStream(echoSocket.getInputStream()); os.writeUTF(""+ stri ); //向服務(wù)器輸送stringos.flush();}catch(IOException e){System.out.println(" error:"+e); } } http://www.paper51.com

public String st1() //接收字符串的方法{String Line="";try{ DataOutputStream os=new DataOutputStream(echoSocket.getOutputStream());DataInputStream is=new DataInputStream(echoSocket.getInputStream()); Line=is.readUTF(); //從服務(wù)器讀來的信息ta.appendText(""+Line); //在文本域中輸出信息}catch(IOException e){System.out.println(" error:"+e); }return Line;

http://www.paper51.com

以上代碼全部實(shí)現(xiàn)下面的功能模塊

copyright paper51.com

(1)??????????????}歡迎界面 copyright paper51.com

(2)??????????????用戶登陸界面

paper51.com

(3)??????????????主功能界面

paper51.com

(4)??????????????創(chuàng)建界面

copyright paper51.com

(5)??????????????查詢界面(單一查詢和全部查詢)

內(nèi)容來自論文無憂網(wǎng) www.paper51.com

(6)??????????????添加信息界面 http://www.paper51.com

(7)??????????????用戶信息修改界面

paper51.com

(8)??????????????幫助界面} http://www.paper51.com

程序調(diào)試心得:1) 在建立Socket連接時(shí),兩端的端口號必須設(shè)為一致,否則建立不了連接。服務(wù)器端必須有主機(jī)IP地址或主機(jī)名參數(shù)。2) 連接建立好之后應(yīng)確定輸入和輸出流。起初程序中用的是DataInputStream和PrintStream,結(jié)果只能傳輸英文,傳輸中文時(shí)產(chǎn)生亂碼,將PrintStream改為DataOutputStream,使用readUTF()和writeUTF()方法后,中文傳輸問題得到解決。3) 如果一個(gè)使用某端口的程序沒有關(guān)閉,另一個(gè)程序就不能使用這個(gè)端口。4) 開始進(jìn)行通信的程序均為 Application,因不符合客戶機(jī)/服務(wù)器機(jī)制,應(yīng)將客戶端的Application改為Applet。其轉(zhuǎn)化的主要步驟如下:? 創(chuàng)建一個(gè)包含APPLET標(biāo)簽的HTML文件;? 去掉應(yīng)用程序中的main()方法;? 類名應(yīng)繼承Applet類,而不是Frame類,并在程序開頭加入import java.applet.*;語句;? 用init()方法代替Application程序中的構(gòu)造方法,當(dāng)瀏覽器創(chuàng)建Applet類對象的時(shí)候,它自動(dòng)執(zhí)行init()方法;? 如Application中缺省使用了BorderLayout布局管理器,應(yīng)在Applet的init()方法中重新設(shè)定;? 如果Application中有setTitle()方法,必須將其去掉,如Application中使用了菜單,在Applet中用按鈕來替換。5) 懂得了在一程序中如何引用自定義的類中的方法和變量,在程序開頭加入import 類名;在程序中加入 類名實(shí)例=new 類名(); 然后使用 實(shí)例.方法(),實(shí)例.變量即可

paper51.com

總結(jié)

以上是生活随笔為你收集整理的java电子通讯录毕业设计_(C)JAVA001电子通讯录(带系统托盘)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。