資源簡(jiǎn)介
文件傳輸功能尚不完善,私聊群聊功能已經(jīng)完善,這是我大一時(shí)寫(xiě)的期末大作業(yè),現(xiàn)在分享給寫(xiě)大作業(yè)的同學(xué),兩臺(tái)電腦要在同一局域網(wǎng)才能使用該程序聊天

代碼片段和文件信息
package?Key;
import?java.awt.Component;
import?java.io.IOException;
import?java.net.DatagramPacket;
import?java.net.DatagramSocket;
import?java.net.InetAddress;
import?java.net.SocketException;
import?java.net.UnknownHostException;
import?java.util.StringTokenizer;
import?javax.swing.JOptionPane;
import?siliao.Udp1;
public?class?jianting?implements?Runnable?{
private?static?final?Component?frame?=?null;
DatagramSocket?dasoc?=?null;//郵局
DatagramPacket?outdap?=?null;//發(fā)送數(shù)據(jù)的包
DatagramPacket?indap?=?null;//接收數(shù)據(jù)的包
StringTokenizer?stringTokenizer;//存放用戶信息
String?nameipkeymyname;
public?jianting()?{
try?{
dasoc?=?new?DatagramSocket(7777);
}?catch?(SocketException?e)?{
e.printStackTrace();
}
new?Thread(this).start();
}
public?void?sendMothod(?String?strInetAddress?address?int?port){//發(fā)送信息的方法
byte?sendB[]?;
sendB?=?str.getBytes();
outdap?=?new?DatagramPacket(sendBsendB.lengthaddressport);//生成發(fā)送包類似寫(xiě)信
try?{
dasoc.send(outdap);
}?catch?(IOException?e2)?{
e2.printStackTrace();
}
}
public?void?receiveMothod(?DatagramSocket?dasoc){//接收數(shù)據(jù)報(bào)
String?flag?=?“no“;
byte?receB[]?=?new?byte[1024];//接收數(shù)據(jù)的字節(jié)數(shù)組大小自定
String?str?=?null;
indap?=?new?DatagramPacket(receBreceB.length);//創(chuàng)建一個(gè)空的用來(lái)接收對(duì)方發(fā)來(lái)的數(shù)據(jù)報(bào)
try?{
dasoc.receive(indap);
str?=?new?String(indap.getData()0indap.getLength());
stringTokenizer?=?new?StringTokenizer(str?“/@“);//依次讀取對(duì)方信息
name=stringTokenizer.nextToken();
ip=stringTokenizer.nextToken();
key=stringTokenizer.nextToken();
}??catch?(IOException?e2)?{
e2.printStackTrace();
}
if(key.equals(“hi“)){
int?rekey=JOptionPane.showConfirmDialog(frame?“是否和“+name+“進(jìn)行私聊?“+“對(duì)方信息為“+?name+ip);
if(rekey==JOptionPane.YES_OPTION){
flag=“yes“;
try?{
sendMothod(flag?InetAddress.getByName(ip)?9999);
JOptionPane.showMessageDialog(frame?“開(kāi)始私聊“);
Udp1?siliao?=?new?Udp1(nameip);
}?catch?(UnknownHostException?e)?{
//?TODO?自動(dòng)生成的?catch?塊
e.printStackTrace();
}
}else?if?(rekey==JOptionPane.NO_OPTION)?{
flag=“no“;
try?{
sendMothod(flag?InetAddress.getByName(ip)?9999);
}?catch?(UnknownHostException?e)?{
//?TODO?自動(dòng)生成的?catch?塊
e.printStackTrace();
}
}
}
}
public?static?void?main(String[]?args)??{
jianting?j=new?jianting();
}
@Override
public?void?run()?{
//?TODO?自動(dòng)生成的方法存根
receiveMothod(dasoc);
}
}
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件????????301??2017-12-26?11:28??liaotian\.classpath
?????文件????????384??2017-12-26?11:28??liaotian\.project
?????文件????????598??2017-12-26?11:28??liaotian\.settings\org.eclipse.jdt.core.prefs
?????文件???????3446??2017-12-26?11:28??liaotian\bin\Key\jianting.class
?????文件???????2944??2017-12-26?11:28??liaotian\bin\Key\qingqiu.class
?????文件????????676??2017-12-26?11:28??liaotian\bin\liaotian\Client_more$1.class
?????文件????????673??2017-12-26?11:28??liaotian\bin\liaotian\Client_more$2.class
?????文件???????1289??2017-12-26?11:28??liaotian\bin\liaotian\Client_more$3.class
?????文件???????2296??2017-12-26?11:28??liaotian\bin\liaotian\Client_more$4.class
?????文件???????1470??2017-12-26?11:28??liaotian\bin\liaotian\Client_more$5.class
?????文件???????2587??2017-12-26?11:28??liaotian\bin\liaotian\Client_more$6.class
?????文件????????806??2017-12-26?11:28??liaotian\bin\liaotian\Client_more$7.class
?????文件???????3763??2017-12-26?11:28??liaotian\bin\liaotian\Client_more$MessageThread.class
?????文件???????8469??2017-12-26?11:28??liaotian\bin\liaotian\Client_more.class
?????文件????????795??2017-12-26?11:28??liaotian\bin\liaotian\Server_more$1.class
?????文件????????673??2017-12-26?11:28??liaotian\bin\liaotian\Server_more$2.class
?????文件????????676??2017-12-26?11:28??liaotian\bin\liaotian\Server_more$3.class
?????文件???????2559??2017-12-26?11:28??liaotian\bin\liaotian\Server_more$4.class
?????文件???????1816??2017-12-26?11:28??liaotian\bin\liaotian\Server_more$5.class
?????文件???????4664??2017-12-26?11:28??liaotian\bin\liaotian\Server_more$ClientThread.class
?????文件???????3104??2017-12-26?11:28??liaotian\bin\liaotian\Server_more$ServerThread.class
?????文件???????8049??2017-12-26?11:28??liaotian\bin\liaotian\Server_more.class
?????文件????????765??2017-12-26?11:28??liaotian\bin\liaotian\User.class
?????文件???????1139??2017-12-26?11:28??liaotian\bin\siliao\Udp1$1.class
?????文件???????4181??2017-12-26?11:28??liaotian\bin\siliao\Udp1.class
?????文件???????1139??2017-12-26?11:28??liaotian\bin\siliao\Udp2$1.class
?????文件???????4181??2017-12-26?11:28??liaotian\bin\siliao\Udp2.class
?????文件????????667??2017-12-26?11:28??liaotian\bin\wenjianchuanshu\GetDate.class
?????文件???????2593??2017-12-26?11:28??liaotian\bin\wenjianchuanshu\WenJianClient.class
?????文件???????1096??2017-12-26?11:28??liaotian\bin\wenjianchuanshu\WenJianServer$1.class
............此處省略26個(gè)文件信息
評(píng)論
共有 條評(píng)論