


全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
/*客户端:ChatClient.java*/import .*;import java.io.*;ublic class ChatClient private DatagramSocket s; private InetAddress hostAddress; private byte buf = new byte1000; private DatagramPacket dp = new DatagramPacket(buf,buf.length);/* *方法说明:构造器,这里实现接收用户输入和与服务器通讯 *输入参数: *返回类型: */ public ChatClient() try /使用构造器,创建使用本机任何可用端口的数据包Socket s = new DatagramSocket(); /获取本地IP hostAddress = InetAddress.getByName(localhost); System.out.println(Client start.); while(true) String outMessage =; /读取输入 BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in); try outMessage = stdin.readLine(); catch(IOException ie) System.err.println(IO error!); /如果输入“bye”则表示退出程序 if(outMessage.equals(bye) break; String outString = Client say: + outMessage; byte buf = outString.getBytes(); /打包数据,发送数据 DatagramPacket out = new DatagramPacket(buf,buf.length,hostAddress,ChatServer.PORT); s.send(out); /等待服务器返回 s.receive(dp); String rcvd = rcvd from + dp.getAddress() + , + dp.getPort() + : + new String(dp.getData(),0,dp.getLength(); System.out.println(rcvd); catch(UnknownHostException e) System.out.println(Can;t open socket); System.exit(1); catch(SocketException e) System.out.println(Can;t open socket); e.printStackTrace(); System.exit(1); catch(IOException e) System.err.println(Communication error); e.printStackTrace(); System.exit(1); catch(Exception e) System.err.println(Communication error); e.printStackTrace(); System.exit(1); System.out.println(ChatClient over); /* *方法说明:主方法 *输入参数: *返回类型: */ public static void main(String args) new ChatClient(); /*服务器端:ChatClient.java*/import .*;import java.io.*;import java.util.*;public class ChatServer static final int PORT = 4000;/设置服务端口 private byte buf = new byte1000; private DatagramPacket dgp =new DatagramPacket(buf,buf.length); private DatagramSocket sk;/* *方法说明:服务端构造器,实现读取用户输入和通讯 *输入参数: *返回类型: */ public ChatServer() try /实例化数据报 sk = new DatagramSocket(PORT); System.out.println(Server start.); while(true) /等待接收 sk.receive(dgp); /获取接收信息 String rcvd = new String(dgp.getData(),0,dgp.getLength()+ , from address: + dgp.getAddress()+ , port: + dgp.getPort(); System.out.println(rcvd); String outMessage =; /读取输入 BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in); try outMessage = stdin.readLine(); catch(IOException ie) System.err.println(IO error!); String outString = Server say: + outMessage; /拷贝字符到缓存 byte buf = outString.getBytes(); /打包数据,发送回信息。 DatagramPacket out = new DatagramPacket(buf,buf.length,dgp.getAddress(),dgp.getPort(); sk.send(out); catch(SocketException e) System.err.println(Cant open socket); System.exit(1); catch(IOExceptio
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 河南省柘城县2026届物理八上期末检测模拟试题含解析
- 2026届江苏省扬州市江都区十校联考物理八上期末学业水平测试试题含解析
- 2026届广东省中山市名校物理八年级第一学期期末复习检测试题含解析
- 2026届广西玉林市北流市八年级物理第一学期期末质量检测试题含解析
- 职称技能津贴管理办法
- 船舶智能制造管理办法
- 芜湖夜市管理办法细则
- 苏州养老从业管理办法
- 茶场生产供应管理办法
- 荣成地下空间管理办法
- 邹平梁邹矿业有限公司矿山地质环境保护与土地复垦方案
- 从目的论看纪录片字幕翻译
- 连锁经营管理理论与实务(全)
- 高考688个高频词汇 word版
- GB/T 9115.4-2000环连接面对焊钢制管法兰
- CAK-13CNC不落轮镟床维修指引
- 项目融资概述课件
- DB225118-2022建筑工程资料管理标准
- 不良资产尽职调查清单
- 小学语文口语交际教学讲座PPT
- 中国电力优质工程奖评审办法
评论
0/150
提交评论