Java TcpUdp小例子非异步Word文件下载.docx

上传人:b****5 文档编号:18321295 上传时间:2022-12-15 格式:DOCX 页数:21 大小:158.41KB
下载 相关 举报
Java TcpUdp小例子非异步Word文件下载.docx_第1页
第1页 / 共21页
Java TcpUdp小例子非异步Word文件下载.docx_第2页
第2页 / 共21页
Java TcpUdp小例子非异步Word文件下载.docx_第3页
第3页 / 共21页
Java TcpUdp小例子非异步Word文件下载.docx_第4页
第4页 / 共21页
Java TcpUdp小例子非异步Word文件下载.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

Java TcpUdp小例子非异步Word文件下载.docx

《Java TcpUdp小例子非异步Word文件下载.docx》由会员分享,可在线阅读,更多相关《Java TcpUdp小例子非异步Word文件下载.docx(21页珍藏版)》请在冰豆网上搜索。

Java TcpUdp小例子非异步Word文件下载.docx

importjava.awt.event.MouseEvent;

importjava.awt.event.WindowAdapter;

importjava.awt.event.WindowEvent;

importjava.io.DataInputStream;

importjava.io.DataOutputStream;

importjava.io.IOException;

import.ServerSocket;

import.Socket;

publicclassTCPServerextendsFrame{

privateTextAreata=null;

privateTextFieldtf=null;

privatePanelsouthPanel=null;

privateButtonbtn=null;

privateThreadtReader=null;

privateSocketsConnect=null;

privatebooleankeepRunning=true;

TCPServermyFrame=null;

DataInputStreamdis=null;

DataOutputStreamdos=null;

/**

*主函数

*@paramargs

*/

publicstaticvoidmain(String[]args){

newTCPServer("

TCPServerV1.0"

).launchServer(8887);

}

publicTCPServer(Stringtitle){

super(title);

setLocation(100,150);

ta=newTextArea();

add(ta,BorderLayout.CENTER);

southPanel=newPanel(newGridLayout(1,2));

tf=newTextField();

btn=newButton("

Send"

);

//"

发送数据"

southPanel.add(tf);

southPanel.add(btn);

add(southPanel,BorderLayout.SOUTH);

pack();

myFrame=this;

btn.addMouseListener(newBtnMouseAdapter());

addWindowListener(newWindowAdapter(){

@Override

publicvoidwindowClosing(WindowEvente){

super.windowClosing(e);

keepRunning=false;

try{

if(tReader!

=null){

tReader.join(2000);

}

}catch(InterruptedExceptione1){

e1.printStackTrace();

}

myFrame.dispose();

System.exit(0);

}

});

setVisible(true);

publicvoidlaunchServer(intport){

ServerSocketss=null;

try{

ss=newServerSocket(port);

sConnect=ss.accept();

dos=newDataOutputStream(sConnect.getOutputStream());

dis=newDataInputStream(sConnect.getInputStream());

tReader=newThread(newSocketReader());

tReader.start();

ta.append("

客户端"

+sConnect.getInetAddress().toString()+"

已经连接到此服务器。

\n"

}catch(IOExceptione){

e.printStackTrace();

}finally{

try{

if(ss!

ss.close();

ss=null;

}catch(IOExceptione){

e.printStackTrace();

}

privatevoidsendMsg(){

Stringtem=tf.getText();

if(tem!

=null&

&

dos!

dos.writeUTF(tem);

ta.append("

向"

+sConnect.getInetAddress().toString()+"

:

"

+sConnect.getPort()+"

发送:

+tem+"

tf.setText("

privateclassBtnMouseAdapterextendsMouseAdapter{

@Override

publicvoidmouseClicked(MouseEvente){

super.mouseClicked(e);

sendMsg();

privateclassSocketReaderimplementsRunnable{

publicvoidrun(){

StringstrRead=null;

while(keepRunning){

strRead=dis.readUTF();

}catch(IOExceptione){

//e.printStackTrace();

System.out.println("

连接已断开。

ta.append(sConnect.getInetAddress().toString()+"

说:

+strRead+"

strRead=null;

}

TCPClient.java

import.UnknownHostException;

publicclassTCPClientextendsFrame{

TCPClientmyFrame=null;

//TODOAuto-generatedmethodstub

newTCPClient("

TcpClientV1.0"

).launchClient("

192.168.1.102"

8887);

publicTCPClient(Stringstring){

super(string);

setLocation(100,400);

southPanel=newPanel(newGridLayout(1,2));

publicvoidlaunchClient(Stringip,intport){

sConnect=newSocket(ip,port);

服务器端"

已经连接。

}catch(UnknownHostExceptione){

UDPServer

importjava.io.ByteArrayInputStream;

import.DatagramPacket;

import.DatagramSocket;

import.InetSocketAddress;

import.SocketException;

publicclassUDPServerextendsFrame{

privateDatagramSocketsSender=null;

privateDatagramSocketsRecver=null;

privateUDPServermyFrame=null;

privateDataInputStreamdis=null;

privateDataOutputStreamdos=null;

privateStringdestIp=null;

privateintportDest=0;

newUDPServer("

UDPServerV1.0"

).launchServer("

192.168.1.100"

6665,8888,6666);

publicvoidlaunchServer(StringdestIp,intportSend,intportDest,intportRecv){

this.destIp=destIp;

this.portDest=portDest;

sSender=newDatagramSocket(portSend);

//IP地址在数据包中标明

sRecver=newDatagramSocket(portRecv);

tReader=newThread(newUDPListener());

}catch(SocketExceptione){

ta.append(String.format("

启动服务器端(发送端口:

%d,接收端口:

%d)\n准备发送数据到:

%s:

%d\n\n"

portSend,portRecv,destIp,portDest));

publicUDPServer(Stringtitle){

sSender.close();

sRecver.close();

privatevoidsendMsg(){

byte[]bArray=tem.getBytes();

if(bArray!

sSender!

DatagramPacketdp=newDatagramPacket(bArray,bArray.length,newInetSocketAddress(destIp,portDest));

sSender.send(dp);

\n向"

+dp.getAddress()+"

+dp.getPort()+"

发送:

e.print

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 教育学心理学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1