(给就加分)恳请大家给一个Socket代码(具有简单聊天功能) 恳请大家给一个Socket代码(具有简单聊天功能) 谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 给!“Socket代码(具有简单聊天功能)” import java.awt.*;import java.awt.event.*;import java.net.*;public class Chat { Frame f=new Frame("我的聊天室"); TextField tfIP=new TextField(15); List lst=new List(6); DatagramSocket ds; public Chat() { try { ds=new DatagramSocket(3000); }catch(Exception ex){ex.printStackTrace();} } public static void main(String [] args) { Chat chat=new Chat(); chat.init(); } public void init() { f.setSize(300,300); f.add(lst); Panel p=new Panel(); p.setLayout(new BorderLayout()); p.add("West",tfIP); TextField tfData=new TextField(20); p.add("East",tfData); f.add("South",p); f.setVisible(true); f.setResizable(false);//限制用户改变窗口的大小 //增加关闭窗口的事件处理代码 f.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e) { ds.close();//程序退出时,关闭Socket,释放相关资源 f.setVisible(false); f.dispose(); System.exit(0); }}); //增加在消息文本框中按下回车键的事件处理代码 tfData.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) { //取出文本框中的消息字符串,并将其转换成字节数组 byte[] buf; buf = e.getActionCommand().getBytes(); try { DatagramPacket dp= new DatagramPacket(buf,buf.length, InetAddress.getByName(tfIP.getText()),3000); ds.send(dp);}catch(Exception ex){ex.printStackTrace();} ((TextField)e.getSource()).setText(""); } }); }}用的UDP协议. 用eclipse写的java小应用程序没main函数打包成jar文件途中遇到问题 难道硕大的CSDN社区java大阪就没有用过java内容仓库的吗?? Oracle SQL小问题 做了一个用计时器每5分钟执行一次的程序,如何让它在系统后台运行 一个反射理解问题 关于proxy cglib aop 的一些疑问(100分求) thx 求救:循环问题,在线等!!! 用java开发一个gba模拟器,应当如何做 请问JAVA中如何操作有多个记录集的存储过程? JBUILDER使用心得交流 新人提问 有没有办法取得一个类的所有子类
import java.awt.event.*;
import java.net.*;
public class Chat
{
Frame f=new Frame("我的聊天室");
TextField tfIP=new TextField(15);
List lst=new List(6);
DatagramSocket ds;
public Chat()
{
try
{
ds=new DatagramSocket(3000);
}catch(Exception ex){ex.printStackTrace();}
}
public static void main(String [] args)
{
Chat chat=new Chat();
chat.init();
}
public void init()
{
f.setSize(300,300);
f.add(lst); Panel p=new Panel();
p.setLayout(new BorderLayout());
p.add("West",tfIP);
TextField tfData=new TextField(20);
p.add("East",tfData);
f.add("South",p);
f.setVisible(true);
f.setResizable(false);//限制用户改变窗口的大小
//增加关闭窗口的事件处理代码
f.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
ds.close();//程序退出时,关闭Socket,释放相关资源
f.setVisible(false);
f.dispose();
System.exit(0);
}
});
//增加在消息文本框中按下回车键的事件处理代码
tfData.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
//取出文本框中的消息字符串,并将其转换成字节数组
byte[] buf;
buf = e.getActionCommand().getBytes();
try
{
DatagramPacket dp= new DatagramPacket(buf,buf.length,
InetAddress.getByName(tfIP.getText()),3000);
ds.send(dp);
}catch(Exception ex){ex.printStackTrace();}
((TextField)e.getSource()).setText("");
}
});
}
}
用的UDP协议.