Java练习13全双工通讯.docx

上传人:b****5 文档编号:7823073 上传时间:2023-01-26 格式:DOCX 页数:7 大小:42.24KB
下载 相关 举报
Java练习13全双工通讯.docx_第1页
第1页 / 共7页
Java练习13全双工通讯.docx_第2页
第2页 / 共7页
Java练习13全双工通讯.docx_第3页
第3页 / 共7页
Java练习13全双工通讯.docx_第4页
第4页 / 共7页
Java练习13全双工通讯.docx_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

Java练习13全双工通讯.docx

《Java练习13全双工通讯.docx》由会员分享,可在线阅读,更多相关《Java练习13全双工通讯.docx(7页珍藏版)》请在冰豆网上搜索。

Java练习13全双工通讯.docx

Java练习13全双工通讯

Java练习,客户端与服务器端互通信息,全双工通讯,源码,可成功运行

服务器端代码:

/**

*服务器端

*/

packagecom.test1;

importjavax.swing.*;

importjava.awt.event.*;

importjava.io.*;

import.*;

@SuppressWarnings("serial")

publicclassmyServer3extendsJFrameimplementsActionListener{

/**

*

*/

//显示对话文本域定义

JTextAreajta=null;

//输入框定义

JTextFieldjtf=null;

//发送按钮定义

JButtonjb=null;

//创建一个JPanel安放jtf和jb

JPaneljp1=null;

//滚动文本框定义

JScrollPanejsp=null;

//把信息发送给客户端的对象列车

PrintWriterpw=null;

publicstaticvoidmain(String[]args){

//TODOAuto-generatedmethodstub

myServer3msv=newmyServer3();

}

publicmyServer3(){

//创建控件

jta=newJTextArea();

jsp=newJScrollPane(jta);

jtf=newJTextField(20);

jb=newJButton("发送");

jb.addActionListener(this);//监听

//布局

jp1=newJPanel();

jp1.add(jtf);

jp1.add(jb);

this.add(jsp,"Center");

this.add(jp1,"South");

this.setTitle("qq简易聊天服务器端");

this.setSize(400,200);

this.setVisible(true);

//服务器开始监听

try{

ServerSocketss=newServerSocket(9988);

//等待客户端连接

Sockets=ss.accept();

//制定列车路线制定发送信息对象的通道,true:

即时更新

pw=newPrintWriter(s.getOutputStream(),true);

//读取从客户端发来的信息

InputStreamReaderisr=newInputStreamReader(s.getInputStream());

BufferedReaderbr=newBufferedReader(isr);

while(true){

//读取从客户端发来的信息

Stringinfo=br.readLine();

jta.append("客户端对服务器说:

"+info+"\r\n");

}

}catch(Exceptione){

e.printStackTrace();

}

}

@Override

publicvoidactionPerformed(ActionEventarg0){

//TODOAuto-generatedmethodstub

//如果用户按下发送信息按钮

if(arg0.getSource()==jb){

//把服务器在jtf写的内容发送给客户端

Stringinfo=jtf.getText();

//把信息显示到jta

jta.append("服务器对客户端说:

"+info+"\r\n");

//列车发车信息运输发动

pw.println(info);

//清空jtf打扫始发站准备接纳下一批货物

jtf.setText("");

}

}

}

客户端代码:

/**

*客户端

*/

packagecom.test2;

importjavax.swing.*;

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjava.io.*;

import.*;

publicclassmyClient3extendsJFrameimplementsActionListener{

//显示对话文本域定义

JTextAreajta=null;

//输入框定义

JTextFieldjtf=null;

//发送按钮定义

JButtonjb=null;

//创建一个JPanel安放jtf和jb

JPaneljp1=null;

//滚动文本框定义

JScrollPanejsp=null;

//定义发送信息的列车

PrintWriterpw=null;

publicstaticvoidmain(String[]args){

//TODOAuto-generatedmethodstub

myClient3msv=newmyClient3();

}

publicmyClient3(){

//创建控件

jta=newJTextArea();

jsp=newJScrollPane(jta);

jtf=newJTextField(20);

jb=newJButton("发送");

jb.addActionListener(this);//注册监听

//布局

jp1=newJPanel();

jp1.add(jtf);

jp1.add(jb);

this.add(jsp,"Center");

this.add(jp1,"South");

this.setTitle("qq简易聊天客户端");

this.setSize(400,200);

this.setVisible(true);

//处理信息**************

try{

//去和服务器连接

Sockets=newSocket("127.0.0.1",9988);

//制定列车运行路线

pw=newPrintWriter(s.getOutputStream(),true);

//不停地读服务器端信息接收信息列车货物

InputStreamReaderisr=newInputStreamReader(s.getInputStream());

BufferedReaderbr=newBufferedReader(isr);

while(true){

Stringinfo=br.readLine();

jta.append("服务器对客户端说:

"+info+"\r\n");

}

}catch(Exceptione){

e.printStackTrace();

}

}

@Override

publicvoidactionPerformed(ActionEventarg0){

//TODOAuto-generatedmethodstub

if(arg0.getSource()==jb){

Stringinfo=jtf.getText();

//同时把客户端发送的信息显示到jta

jta.append("客户端对服务器说:

"+info+"\r\n");

pw.println(info);

//清空jtf清场

jtf.setText("");

}

}

}

2014/6/15

共享,详细完整,有用,可成功运行

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

当前位置:首页 > 农林牧渔 > 林学

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

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