欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    网络协议课程设计基于UDP的多人聊天系统源代码.docx

    • 资源ID:603419       资源大小:310.16KB        全文页数:13页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    网络协议课程设计基于UDP的多人聊天系统源代码.docx

    1、网络协议课程设计基于UDP的多人聊天系统源代码 基于UDP的多人聊天系统只需把两个客户段代码 与一个服务器代码导入就可以了,记得要把服务器ip:192.168.1.77(也可以自己在服务器程序中改一下),每个客户端需要设置一下ip,比如A客户端:192.168.1.78,B客户端:192.168.1.88,A客户端向B客户端通讯时,“请输入对方ip”,这项改为192.168.1.88,就可以了。客户端源代码程序:ChatFram.javapackage ChatFrame_01;import .*;import java.io.*;import java.awt.*;import java.a

    2、wt.event.*;import javax.swing.*;import java.lang.*;import java.awt.color.*;import javax.swing.JOptionPane;public class ChatFrame extends JFrame JPanel contentPane; JLabel label1 = new JLabel();/ 发送消息 JLabel label2 = new JLabel();/ 输入ip Label label3 = new Label();/ 输入端口标签 Label label4 = new Label();/

    3、 输出端口标签 JTextField textField1 = new JTextField();/ 发送消息 JTextField textField2 = new JTextField();/ 输入ip JTextField textField3 = new JTextField();/ 获得输入端口 JTextField textField4 = new JTextField();/ 获得输出端口 JButton button1 = new JButton(发送);/ 发送消息 TextArea textArea1 = new TextArea(); JOptionPane jopane

    4、 = new JOptionPane(); DatagramPacket sendpacket, receivepacket;/ 声明发送和接收数据包 DatagramSocket sendsocket, receivesocket;/ 声明发送和接收DatagramSocket public ChatFrame() enableEvents(AWTEvent.WINDOW_EVENT_MASK); try toInit(); catch (Exception e) e.printStackTrace(); private void toInit() throws Exception cont

    5、entPane = (JPanel) this.getContentPane(); label1.setText(发送信息:); label1.setBounds(new Rectangle(13, 100, 60, 21); contentPane.setLayout(null); contentPane.setBackground(Color.pink); this.setSize(new Dimension(363, 502); this.setTitle(多人聊天室); label2.setText(输入对方IP地址:); label2.setBounds(new Rectangle(

    6、12, 19, 109, 23); label3.setText(输入端口:); label3.setBounds(new Rectangle(12, 58, 55, 22); label4.setText(输出端口:); label4.setBounds(new Rectangle(180, 58, 55, 22); textField3.setText(3000); textField4.setText(3001); button1.setBounds(new Rectangle(280, 100, 59, 21); button1.addActionListener(new java.a

    7、wt.event.ActionListener() public void actionPerformed(ActionEvent e) button1_actionPerformed(e); ); textField1.addKeyListener(new KeyAdapter() public void keyPressed(KeyEvent e) if (e.getKeyCode() = KeyEvent.VK_ENTER) String str = textField2.getText(); String str1=textField1.getText(); if (pareTo()

    8、!= 0&!.equals(str1) try textArea1.append(nto + textField2.getText() + : + 3000 + say: + textField1.getText(); String s = textField1.getText(); byte data = s.getBytes(UTF-8); sendpacket = new DatagramPacket( data, data.length, InetAddress.getByName(192.168.1.77), 6666); sendsocket.send(sendpacket); c

    9、atch (IOException exc) exc.printStackTrace(); textField1.setText(); ); textField4.setBounds(new Rectangle(240, 58, 90, 22); textField3.setBounds(new Rectangle(70, 58, 90, 22); textField2.setBounds(new Rectangle(123, 20, 120, 19); textField1.setBounds(new Rectangle(76, 100, 190, 19); textArea1.setBou

    10、nds(new Rectangle(11, 140, 333, 315); textArea1.setEditable(false); textArea1.setBackground(Color.white); contentPane.add(label4, null); contentPane.add(label3, null); contentPane.add(label2, null); contentPane.add(label1, null); contentPane.add(textField1, null); contentPane.add(textField2, null);

    11、contentPane.add(textField3, null); contentPane.add(textField4, null); contentPane.add(textArea1, null); contentPane.add(button1, null); this.setVisible(true); bind(); protected void processWindowEvent(WindowEvent e) super.processWindowEvent(e); if (e.getID() = WindowEvent.WINDOW_CLOSING) System.exit

    12、(0); public void waitforpackets() / 检测并接受对方发来的消息 while (true) try byte array = new byte100; receivepacket = new DatagramPacket(array, array.length); receivesocket.receive(receivepacket);/ 接收 textArea1.append(nfrom + receivepacket.getAddress() + : + receivepacket.getPort() + get:); String received =

    13、new String(receivepacket.getData(), 0, receivepacket.getLength(), UTF-8); textArea1.append(received); catch (IOException se) se.printStackTrace(); void bind() / 和对方建立连 try sendsocket = new DatagramSocket(3000); receivesocket = new DatagramSocket(3333); catch (Exception e) void button1_actionPerforme

    14、d(ActionEvent e) / 发送消息到对方 String str = textField2.getText(); String str1=textField1.getText(); if (pareTo() != 0&!.equals(str1) try textArea1.append(nto + textField2.getText() + : + 3000 + say: + textField1.getText(); String s = textField2.getText()+|+textField1.getText(); byte data = s.getBytes(UT

    15、F-8); sendpacket = new DatagramPacket(data, data.length, InetAddress .getByName(192.168.1.77), 6666); sendsocket.send(sendpacket); catch (IOException exc) exc.printStackTrace(); textField1.setText(); ChatApp.javapackage ChatFrame_01;import java.io.*;import javax.swing.UIManager;import java.awt.*;pub

    16、lic class ChatApp boolean packFrame = false; ChatApp() ChatFrame frame = new ChatFrame(); if (packFrame) frame.pack(); else frame.validate(); / 放置窗体在屏幕中央 Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); Dimension frameSize = frame.getSize(); if (frameSize.height screenSize.height)

    17、 frameSize.height = screenSize.height; if (frameSize.width screenSize.width) frameSize.width = screenSize.width; frame.setLocation(screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2); frame.setVisible(true); frame.waitforpackets(); public static void main(String args

    18、) new ChatApp(); 服务器端:Server.javapackage ChatFrame_01;import .DatagramPacket;import .DatagramSocket;import .InetAddress;import .Socket;import java.util.*;public class Server List ips = new ArrayList(); DatagramSocket socket; DatagramPacket packet; DatagramSocket ssocket; DatagramPacket spacket; publ

    19、ic Server() throws Exception socket = new DatagramSocket(6666); ssocket=new DatagramSocket(8888); public void listen() throws Exception byte array = new byte100; packet = new DatagramPacket(array, array.length); socket.receive(packet); byte data=packet.getData(); String received = new String(data,0,

    20、data.length,UTF-8); System.out.println(received); String ss = received.split(|); String ip = ss0; byte dt=ss1.getBytes(UTF-8); spacket=new DatagramPacket(dt,dt.length,InetAddress.getByName(ip),3333); ssocket.send(spacket); public static void main(String args) throws Exception Server s = new Server(); while (true) s.listen();


    注意事项

    本文(网络协议课程设计基于UDP的多人聊天系统源代码.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开