欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOCX文档下载  

    西安邮电学院 通信软件设计.docx

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

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

    西安邮电学院 通信软件设计.docx

    西 安 邮 电 学 院实 验 报 告课 程 通信软件设计 开课时间 至学 年第 学期这个软件主要功能是以UDP为基础实现两台电脑之间收发简单文本消息。软件全部使用java编写,并以JavaBuilder8为工具进行编写与调试。布局方式采用NULL方式,主要使用AWT的组件和部分SWING的组件。使用方法如下:1 首先在输入IP地址的输入栏中输入想与之进行通信的主机的IP地址,即消息接受方的IP地址。2 在消息编辑框中输入想发送的消息内容。3 编辑完欲发送的消息后,点击“发送消息”按钮进行发送;4 双方发送的消息和发送方与接受方的IP地址都会在下面的空白区域-“频道”内显示。6 如果没有输入IP地址便发送编辑完的文本消息,空白区域内会显示出提示信息提示用户应输入接受方的IP地址。7 当频道内显示的消息太多时,可以按”刷新频道”来清除频道内全部信息!软件运行时候的抓图:本机测试结果的抓图效果程序代码与简要说明1 chatFrame类的代码:package chat;import .*;import java.io.*;import java.awt.*;import java.awt.event.*;import javax.swing.*;/* * <p>Title: </p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2004</p> * <p>Company: </p> * author not attributable * version 1.0 */public class chatFrame extends JFrame JPanel contentPane; Label label1 = new Label(); TextField textField1 = new TextField(); Label label2 = new Label(); TextField textField2 = new TextField(); Button button1 = new Button(); TextArea textArea1 = new TextArea(); DatagramPacket sendpacket,receivepacket; /定义发送和接受数据包 DatagramSocket sendsocket,receivesocket;/定义发送和接受DatagramSocket /Construct the frame public chatFrame() enableEvents(AWTEvent.WINDOW_EVENT_MASK); try jbInit(); catch(Exception e) e.printStackTrace(); /Component initialization private void jbInit() throws Exception /定义个组件和他们的布局 contentPane = (JPanel) this.getContentPane(); label2.setAlignment(Label.CENTER); label2.setFont(new java.awt.Font("SansSerif", 0, 15); label2.setForeground(Color.black); label2.setText("消息编辑框"); label1.setBounds(new Rectangle(14, 17, 133, 32); contentPane.setLayout(null); this.setSize(new Dimension(500, 400); this.setTitle("用UDP实现聊天"); textField1.setBackground(SystemColor.text); textField1.setColumns(0); textField1.setFont(new java.awt.Font("Dialog", 0, 16); textField1.setText(""); textField1.setBounds(new Rectangle(129, 72, 200, 61); label1.setAlignment(Label.CENTER); label1.setFont(new java.awt.Font("Dialog", 0, 15); label1.setText("输入对方IP地址"); label2.setBounds(new Rectangle(23, 86, 108, 28); try sendsocket=new DatagramSocket(5000); /初始化 receivesocket=new DatagramSocket(5001); catch(SocketException se) /可能产生Socketexception类的异常 se.printStackTrace(); System.exit(0); button1.setBackground(Color.magenta); button1.setFont(new java.awt.Font("Dialog", 0, 13); button1.setLabel("发送消息"); button1.setBounds(new Rectangle(374, 23, 88, 42); button1.addActionListener(new java.awt.event.ActionListener () public void actionPerformed(ActionEvent e) button1_actionPerformed(e); ); textField2.setBackground(SystemColor.activeCaptionBorder); textField2.setFont(new java.awt.Font("Dialog", 1, 18); textField2.setLocale(java.util.Locale.getDefault(); textField2.setText(""); textField2.setBounds(new Rectangle(166, 21, 169, 29); textArea1.setFont(new java.awt.Font("Dialog", 0, 13); textArea1.setText(""); textArea1.setBounds(new Rectangle(46, 157, 382, 185); contentPane.setBackground(new Color(113, 111, 159); jButton1.setBackground(Color.pink); jButton1.setBounds(new Rectangle(374, 86, 87, 42); jButton1.setFont(new java.awt.Font("Dialog", 0, 13); jButton1.setText("刷新频道"); jButton1.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(ActionEvent e) jButton1_actionPerformed(e); ); contentPane.add(label1, null); contentPane.add(textField2, null); contentPane.add(textField1, null); contentPane.add(label2, null); contentPane.add(textArea1, null); contentPane.add(jButton1, null); contentPane.add(button1, null); /Overridden so we can exit when window is closed protected void processWindowEvent(WindowEvent e) super.processWindowEvent(e); if (e.getID() = WindowEvent.WINDOW_CLOSING) System.exit(0); public void waitforpackets() /这个方法完成接受数据包的功能 while(true) try bytearray=new byte100; receivepacket=new DatagramPacket(array,array.length); /创建接受数据包的缓冲 receivesocket.receive(receivepacket); /接受数据包 textArea1.append("nfrom "+receivepacket.getAddress() +" : "); byte data=receivepacket.getData(); String received=new String(data,0); /将字节数组转化为字符串 textArea1.append(received); catch(IOException se) /可能产生的IOException类异常 textArea1.append(se.toString() +"/n"); se.printStackTrace(); void button1_actionPerformed(ActionEvent e) /这个方法完成发送数据包 String str = textField2.getText(); if(pareTo("")!=0) try textArea1.append("nto "+textField2.getText() +" : "+textField1.getText(); String s=textField1.getText(); byte data=new byte100; s.getBytes(0,s.length(),data,0); sendpacket=new DatagramPacket(data,s.length(), InetAddress.getByName(textField2.getText(),5001); /创建发送的数据包 sendsocket.send(sendpacket); /发送数据包 catch(IOException exc) textArea1.append(exc.toString() +"n"); exc.printStackTrace(); else textArea1.setText("please input your friend's IP first!"); JButton jButton1 = new JButton(); void jButton1_actionPerformed(ActionEvent e) textArea1.setText(""); 2.chatapp类的代码:package chat;import .*;import java.io.*;import javax.swing.UIManager;import java.awt.*;/* * <p>Title: </p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2004</p> * <p>Company: </p> * author not attributable * version 1.0 */public class chatApp boolean packFrame = false; /Construct the application public chatApp() chatFrame frame = new chatFrame(); /Validate frames that have preset sizes /Pack frames that have useful preferred size info, e.g. from their layout if (packFrame) frame.pack(); else frame.validate(); /Center the window Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); Dimension frameSize = frame.getSize(); if (frameSize.height > screenSize.height) 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(); /Main method public static void main(String args) try UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName(); catch(Exception e) e.printStackTrace(); new chatApp();

    注意事项

    本文(西安邮电学院 通信软件设计.docx)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开