Java聊天室代码

Java聊天室代码

ID:43403310

大小:32.00 KB

页数:4页

时间:2019-09-30

Java聊天室代码_第1页
Java聊天室代码_第2页
Java聊天室代码_第3页
Java聊天室代码_第4页
资源描述:

《Java聊天室代码》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、基于UDP的简单java聊天室代码./***这个一个简单的利用数据报协议传送信息的聊天测试程序。*程序由三个简单的组件构成,分别是一个List,用于接收信息,*一个JComboBox,用于输入对方ip地址,和一个JTextField,*用于编辑信息。
*聊天双方的程序必须监听同一个固定的端口,只有这样才能实现*相互通信。当输入的ip地址为localhost时,自己会收到自己*发送的信息。*/packagechat;importjava.util.*;importjava.net.*;importjava.io.*;importj

2、ava.awt.*;importjava.awt.event.*;importjavax.swing.*;publicclassChatextendsJFrame{PrintStreamps=null;privateintport;//端口java.awt.Listlist=newjava.awt.List(20);//接收信息列表Vectorvector=newVector();//已发IP列表JComboBoxipField=newJComboBox(vector);//发送对象ipJTextFieldtextField=newJ

3、TextField(20);//编辑发送内容组件DatagramSocketsocket=null;/***MethodChat***/publicChat(intport){//TODO:在这添加你的代码this.port=port;try{ps=newPrintStream("log.txt");}catch(FileNotFoundExceptione){e.printStackTrace();}try{socket=newDatagramSocket(port);}catch(Exceptione){e.printStackT

4、race(ps);}ContainercontentPane=this.getContentPane();ipField.setPreferredSize(newDimension(120,20));ipField.setEditable(true);JPanelpanel=newJPanel();panel.setLayout(newBoxLayout(panel,BoxLayout.X_AXIS));contentPane.add(list,BorderLayout.CENTER);contentPane.add(panel,Bo

5、rderLayout.SOUTH);panel.add(ipField);panel.add(textField);receive();addListener();}/***加入并处理事件听侦*/voidaddListener(){//当在textField组件中输入内容后按下回车键,即发送出输入信息。textField.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){//sendmessagebyte[]buf=textFie

6、ld.getText().getBytes();Stringip=(String)ipField.getSelectedItem();try{DatagramPacketdp=newDatagramPacket(buf,buf.length,InetAddress.getByName(ip),port);//利用数据报协议发送信息socket.send(dp);if(!vector.contains(ip))vector.add(ip);}catch(Exceptionex){ipField.setSelectedItem(null)

7、;ex.printStackTrace(ps);}textField.setText("");}});addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){socket.close();System.exit(0);}});}/***接收信息线程*/voidreceive(){newThread(newRunnable(){publicvoidrun(){byte[]buf=newbyte[1024];while(true){try{Dat

8、agramPacketdp=newDatagramPacket(buf,buf.length);socket.receive(dp);Stringmessage=newString(buf,0,dp.getLength(

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。