一个使用数据报通讯方式的聊天程序实例,含客户端和后台

上传人:人*** 文档编号:477393421 上传时间:2022-10-04 格式:DOCX 页数:5 大小:69KB
返回 下载 相关 举报
一个使用数据报通讯方式的聊天程序实例,含客户端和后台_第1页
第1页 / 共5页
一个使用数据报通讯方式的聊天程序实例,含客户端和后台_第2页
第2页 / 共5页
一个使用数据报通讯方式的聊天程序实例,含客户端和后台_第3页
第3页 / 共5页
一个使用数据报通讯方式的聊天程序实例,含客户端和后台_第4页
第4页 / 共5页
一个使用数据报通讯方式的聊天程序实例,含客户端和后台_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《一个使用数据报通讯方式的聊天程序实例,含客户端和后台》由会员分享,可在线阅读,更多相关《一个使用数据报通讯方式的聊天程序实例,含客户端和后台(5页珍藏版)》请在金锄头文库上搜索。

1、/*ChatClientjava*/ .*;importjava.io.*;ublicclassChatClient privateDatagramSockets;privateInetAddresshostAddress;privatebytebuf=newbyte1000;privateDatagramPacketdp=newDatagramPacket(buf,buf.length);/*方法说明:构造器,这里实现接收用户输入和与服务器通讯*输入参数:*返回类型:*/ publicChatClient()/ 使用构造器,创建使用本机任何可用端口的数据包trySockets=newData

2、gramSocket();/ 获取本地 IP hostAddress=InetAddress.getByName(localhost);System.out.println(Clientstart);while(true)StringoutMessage=;/ 读取输入BufferedReaderstdin=newBufferedReader(newInputStreamReader(System.in);tryoutMessage=stdin.readLine();catch(IOExceptionie)System.err.println(IOerror!);/ 如果输入“ bye ”则表

3、示退出程序if(outMessage.equals(bye)break;StringoutString=Clientsay:+outMessage;bytebuf=outString.getBytes();/ 打包数据,发送数据DatagramPacketout=newDatagramPacket(buf,buf.length,hostAddress,ChatServer.PORT);s.send(out);/ 等待服务器返回s.receive(dp);Stringrcvd=rcvdfrom+dp.getAddress()+,+dp.getPort()+:+newString(dp.getDa

4、ta(),0,dp.getLength();System.out.println(rcvd);catch(UnknownHostExceptione)System.out.println(Can;topensocket);System.exit(1);catch(SocketExceptione)System.out.println(Can;topensocket);e.printStackTrace();System.exit(1);catch(IOExceptione)System.err.println(Communicationerror);e.printStackTrace();Sy

5、stem.exit(1);catch(Exceptione)System.err.println(Communicationerror);e.printStackTrace();System.exit(1);System.out.println(ChatClientover);/*方法说明:主方法*输入参数:*返回类型:*/ publicstaticvoidmain(Stringargs) newChatClient();/*ChatClientjava*/ .*;importjava.io.*;importjava.util.*;设置服务端口publicclassChatServer sta

6、ticfinalintPORT=4000;/privatebytebuf=newbyte1000;privateDatagramPacketdgp=newDatagramPacket(buf,buf.length);/*privateDatagramSocketsk;*方法说明:服务端构造器,实现读取用户输入和通讯*输入参数:*返回类型:*/publicChatServer()try/ 实例化数据报sk=newDatagramSocket(PORT);System.out.println(Serverstart);while(true)/ 等待接收sk.receive(dgp);/ 获取接收信

7、息Stringrcvd=newString(dgp.getData(),0,dgp.getLength()+,fromaddress:+dgp.getAddress()+,port:+dgp.getPort();System.out.println(rcvd);StringoutMessage=;/ 读取输入BufferedReaderstdin=newBufferedReader(newInputStreamReader(System.in);tryoutMessage=stdin.readLine();catch(IOExceptionie)System.err.println(IOerr

8、or!);StringoutString=Serversay:+outMessage;/ 拷贝字符到缓存bytebuf=outString.getBytes();/ 打包数据,发送回信息。DatagramPacketout=newDatagramPacket(buf,buf.length,dgp.getAddress(),dgp.getPort();sk.send(out);catch(SocketExceptione)System.err.println(Cantopensocket);System.exit(1);catch(IOExceptione)System.err.println(Communicationerror);e.printStackTrace();System.exit(1);publicstaticvoidmain(Stringargs)newChatServer();

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 机械/制造/汽车 > 工业自动化

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号