java吧 关注:1,258,450贴子:12,754,053
  • 1回复贴,共1

请帮我把这个UDP通信程序纠错,谢谢

只看楼主收藏回复

我是一位初学者,请帮我看看程序,谢谢  
 这是一个UDP通信软件,我用的是JCreator,据报44、45、46行错了,但是我不会改正,希望达人帮我看看,不胜感激。另外,我想问问,如何将它生成文件?如何设置通信端口? 
程序如下: 
import java.io.*; 
import java.awt.*; 
import java.awt.event.*; 
import java.net.*; 
import java.util.*; 
import javax.swing.*; 
public class HostComputer1 extends JFrame implements ActionListener,Runnable{ 
DatagramSocket socket; 
byte[]buf=new byte[256]; 
InetAddress address; 
JTextArea t1=new JTextArea(); 
JTextField t2=new JTextField(20); 
DatagramPacket dp=new DatagramPacket(buf,buf.length); 
public HostComputer1(){ 
 JScrollPane jsp=newJScrollPane(t1); 
 this.getContentPane().add(jsp,"Center"); 
 JPanel p1=new JPanel(); 
 p1.add(new JLable("发送的信息")); 
 p1.add(t2); 
 t2.addActionListerer(this); 
 this.getContetPane().add(p1,"South"); 
 setTitle("我是主机1"); 
 setSize(350,200); 
 setVisible(true); 
 (new Thread(this)).start(); 

public void actionPerformed(ActionEvent e){ 
 try{ 
   byte [] b=t2.getText().getBytes(); 
   DatagramSocket socket=new DatagramSocket(); 
   InetAddress address=InetAddress.getByName("localhost"); 
   DatagramPacket packet=new DatagramPacket (b,b.length,address,6666); 
   socket.send(packet); 
   t1.append("发送的数据:"+t2.getText()+"\n"); 
   t1.append("数据发送到:"+address+"\n"); 
   t1.append("数据长度为:"+packet.getLength()+"\n"); 
  }catch(Exception ee){ee.printStackTrace();} 

  public void run(){ 
   try{ 
     DatagramSocket socket=new DatagramSocket(8888); 
     while(true){ 
      socket.receive(dp) 
      String received=new String(dp.getData(),0,dp.getLength()); 
      t1.append("收到的数据:"+received+"\"); 
      t1.append("数据来自于:"+dp.getAddress()+"\n"); 
      t1.append("数据长度为:"+dp.getLength()+"\n"); 
      } 
    }catch(Exception e){System.out.println("Error"+e);} 
  } 
public static void main(String [] args){ 
 JFrame.setDefaultLookAndFeelDecorated(true); 
 Font font=new Font("JFrame",Font,PLAIN,14); 
 Enumeration keys=UIManager.getLookAndFeelDefaults().keys(); 
 while(key.hasMoreElements()) { 
   Object key=keys.nextElement(); 
   if(UIManager.get(key) instanceof Font) 
      UIManager.put(key,font); 
    } 
    new HostComputer1(); 
  } 

 
 



1楼2007-08-12 14:54回复
    您想成为一名优秀的JAVA软件工程师吗?您想挑战高薪吗?本中心将帮助您实现自己的理想!本中心的老师都有3年以上的JAVA软件开发经验,开发经验丰富,讲课水平一流,传授我们多年的开发经验,从实践出发使您成功的走向软件工程师的道路。
    培训内容如下: 
    1、熟悉使用Html语言、CSS样式表、Javascript脚本语言 
    2、熟悉使用Jsp在Web开发中常用的技术
    3、熟悉使用Java的核心代码编程、JavaBean、JDBC、Structs、Webwork、Spring、Hibernate编程 
    4、使用CVS工程管理软件(SubVersion) 
    5、熟练配置Apache Tomcat5.0等Web服务器的配置和调试 
    6、熟悉SQL语句的用法、不同的数据库的安装、调试和优化 
    7、熟练使用PL/SQL工具 
    8、熟练使用PowerDisgner进行数据库的设计。 
    9、熟练使用Dom4J 操作Xml文件 
    10.熟练使用Eclipse3.2、Jbuider2006等开发工具以及如何搭置开发环境。 
    11、能自己看懂JAVA的API 
    12、了解一些开源代码的使用。如JfreeChart、操作Excel文档等。 
    13、熟悉OA办公自动化的开发流程。
    授课方式:一对一授课! 招收人数:10人 培训时间:3个月 
    培训地点:回龙观 培训价格:4500
    联系方式:QQ:402917415 40420250 Mobile:13693207964 13601274888
    本中心郑重承诺:因本中心原因达不到培训效果,无条件退款!


    2楼2007-08-12 15:16
    回复