資源簡介
文件傳輸功能尚不完善,私聊群聊功能已經完善,這是我大一時寫的期末大作業,現在分享給寫大作業的同學,兩臺電腦要在同一局域網才能使用該程序聊天

代碼片段和文件信息
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;//發送數據的包
DatagramPacket?indap?=?null;//接收數據的包
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){//發送信息的方法
byte?sendB[]?;
sendB?=?str.getBytes();
outdap?=?new?DatagramPacket(sendBsendB.lengthaddressport);//生成發送包類似寫信
try?{
dasoc.send(outdap);
}?catch?(IOException?e2)?{
e2.printStackTrace();
}
}
public?void?receiveMothod(?DatagramSocket?dasoc){//接收數據報
String?flag?=?“no“;
byte?receB[]?=?new?byte[1024];//接收數據的字節數組大小自定
String?str?=?null;
indap?=?new?DatagramPacket(receBreceB.length);//創建一個空的用來接收對方發來的數據報
try?{
dasoc.receive(indap);
str?=?new?String(indap.getData()0indap.getLength());
stringTokenizer?=?new?StringTokenizer(str?“/@“);//依次讀取對方信息
name=stringTokenizer.nextToken();
ip=stringTokenizer.nextToken();
key=stringTokenizer.nextToken();
}??catch?(IOException?e2)?{
e2.printStackTrace();
}
if(key.equals(“hi“)){
int?rekey=JOptionPane.showConfirmDialog(frame?“是否和“+name+“進行私聊?“+“對方信息為“+?name+ip);
if(rekey==JOptionPane.YES_OPTION){
flag=“yes“;
try?{
sendMothod(flag?InetAddress.getByName(ip)?9999);
JOptionPane.showMessageDialog(frame?“開始私聊“);
Udp1?siliao?=?new?Udp1(nameip);
}?catch?(UnknownHostException?e)?{
//?TODO?自動生成的?catch?塊
e.printStackTrace();
}
}else?if?(rekey==JOptionPane.NO_OPTION)?{
flag=“no“;
try?{
sendMothod(flag?InetAddress.getByName(ip)?9999);
}?catch?(UnknownHostException?e)?{
//?TODO?自動生成的?catch?塊
e.printStackTrace();
}
}
}
}
public?static?void?main(String[]?args)??{
jianting?j=new?jianting();
}
@Override
public?void?run()?{
//?TODO?自動生成的方法存根
receiveMothod(dasoc);
}
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????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個文件信息
評論
共有 條評論