- 浏览: 221086 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
zzhyq:
有没有后台是ASHX 的呀
Ext.tree.TreePanel -
693593336:
谢谢作者分享,正好用上
Ext.tree.TreePanel -
greatwqs:
提供一个下载的demo不是更好
基于servlet的 Freemarker Demo
同学网上找的代码,说会乱码。看了源码,没发现什么原因,运行起来对方发送过来的字符串确实是乱码的。同学用的NetBeans我用的Eclipse,而NetBeans默认的编码是UTF-8,Eclipse默认的是GBK;琢磨着就是这个引起的。。。。都改成一样的编码就没事了。代码如下:
Code:
- packagetest;
- importjava.awt.BorderLayout;
- importjava.awt.List;
- importjava.awt.TextField;
- importjava.awt.event.ActionEvent;
- importjava.awt.event.ActionListener;
- importjava.io.IOException;
- importjava.net.DatagramPacket;
- importjava.net.DatagramSocket;
- importjava.net.InetAddress;
- importjava.net.SocketException;
- importjava.net.UnknownHostException;
- importjavax.swing.JFrame;
- importjavax.swing.JPanel;
- publicclassnetchat{
- JFramejf=newJFrame("聊天窗口");
- Listl=newList(6);
- JPaneljp=newJPanel();
- TextFieldtip=newTextField(15);
- TextFieldtdata=newTextField(15);
- DatagramSocketds;
- //DatagramPacketdp;
- publicnetchat(){
- tip.setText("127.0.0.1");
- try{
- ds=newDatagramSocket(3000);
- }catch(SocketExceptione){
- e.printStackTrace();
- }
- newThread(newRunnable()
- {
- DatagramPacketdp;
- publicvoidrun(){
- byte[]buf=newbyte[1024];
- dp=newDatagramPacket(buf,1024);
- while(true){
- try{
- ds.receive(dp);
- //l.add(dp.getAddress().getHostName()+"say:"+new
- //String(buf,0,dp.getLength()),-1);
- //l.add(dp.getAddress().getHostAddress()+"say:"+new
- //String(buf,0,+dp.getLength()),-1);
- System.out.println("aaaa");
- Stringstr=newString(dp.getData(),0,dp.getLength());
- System.out.println("数据1是:"+str);
- Stringstr2=newString(buf,0,dp.getLength());
- System.out.println("数据2是:"+str2);
- l.add(dp.getAddress().getHostAddress()+"say:"+str,
- -1);
- }catch(IOExceptione){
- e.printStackTrace();
- }
- }
- }
- }).start();
- }
- publicstaticvoidmain(String[]args){
- newnetchat().init();
- }
- privatevoidinit(){
- jf.add(l);
- jp.add(tip,BorderLayout.WEST);
- jp.add(tdata,BorderLayout.EAST);
- jf.add(jp,BorderLayout.SOUTH);
- jf.setSize(400,300);
- jf.setVisible(true);
- jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- tdata.addActionListener(newActionListener(){
- publicvoidactionPerformed(ActionEvente){
- byte[]buf;
- Stringstr222=e.getActionCommand();
- buf=str222.getBytes();
- System.out.println("ddd="+str222);
- l.add("我说:"+str222,-1);
- //buf=e.getActionCommand().getBytes();
- DatagramPacketdp;
- try{
- dp=newDatagramPacket(buf,buf.length,InetAddress
- .getByName(tip.getText()),3000);
- ds.send(dp);
- }catch(UnknownHostExceptione1){
- e1.printStackTrace();
- }catch(IOExceptione1){
- e1.printStackTrace();
- }
- ((TextField)e.getSource()).setText("");
- }
- });
- }
- }
运行结果就是一个小窗体。。。
发表评论
-
Singletons and lazy loading
2011-09-26 19:47 926The Java Memory Model # ... -
JVM blogs
2011-09-14 21:40 478话说是 【JVM详解的专题】,很多文章的差不多的,有的详 ... -
effective Java _Generic
2011-09-12 12:03 0#23 -
Class Loader
2011-08-28 16:47 804专栏合集(一):Java深度历险 pdf已上传1 ... -
Study Linkinginginginginginginging
2011-08-27 10:42 750#1 java 工程和类等路径汇总 #2 让Apac ... -
How to send Email
2011-08-26 15:32 6111.java mail 使用介绍 2.Java ... -
Java_Try_Finally
2011-07-18 11:51 655public class TestTryCatch { ... -
Java Class ClassLoader
2011-07-15 17:05 1039下午在看《Java 深度历险》,对Class & ... -
关键字 final & transient
2011-06-08 16:49 973final 详见: http://java.chinaitl ... -
课程设计3
2010-01-04 14:09 785题目3:动态分区式存储管理的存储分配和回收 一、设计目的 ... -
课程设计1
2010-01-04 14:24 756采用的是C++语言编写的,但PCB的数据结构是符合要求的。 ... -
os课程设计后感
2010-01-04 14:48 549今天终于把操作系统的实验给终结了。基本要求算是符合了,可能表 ... -
java作业01
2010-03-06 16:02 671package homework01; public cla ... -
Java作业02
2010-03-11 14:22 799package homework02; import jav ... -
File函数返回当前路径
2010-03-12 19:37 677package netWorkMoreThreadCopy; ... -
多线程文件复制(界面)1
2010-03-12 23:45 948package netWorkMoreThreadCopy; ... -
Java IO 转摘
2010-03-15 00:26 520java中的io中的(input/output)str ... -
java作业03
2010-03-17 00:59 707package homework03; import jav ... -
Java作业
2010-03-17 01:19 648package homework03;import java. ... -
java作業3
2010-03-18 18:36 599package homework03;/** 首先编写一个抽象 ...
相关推荐
Java UDP聊天程序是一种基于用户数据报协议(User Datagram Protocol,UDP)实现的简单通信应用。UDP是TCP/IP协议族中的一个无连接、不可靠的传输协议,它在发送数据时不需要建立连接,也不保证数据包的顺序到达和...
在本项目中,“JavaUDP开发简单聊天系统”是指使用Java语言实现的一个基于UDP协议的简易聊天程序。下面我们将深入探讨Java UDP编程的关键概念和技术。 首先,Java提供了`java.net.DatagramSocket`类来处理UDP通信。...
现在,我们将深入探讨如何用Java实现这样的UDP聊天程序。 首先,我们需要了解Java中的Socket编程。在TCP中,我们使用`Socket`和`ServerSocket`类,而在UDP中,我们使用`DatagramSocket`和`DatagramPacket`。`...
通过以上这些知识点的综合运用,你可以构建一个简单的Java UDP聊天程序,实现两个用户端之间的通信。不过,实际开发中,可能还需要考虑更多因素,如用户认证、消息历史记录、用户界面设计等,以提供更完整的用户体验...
简单的UDP聊天程序,服务器端:创建DatagramSocket对象用于打开指定端口并监听,然后用创建一个DatagramPacket,利用DatagramSocket中的receive(ds)方法接收数据并放到刚创建的DatagramPacket对象中; 这样就完成...
#### 五、Java UDP聊天程序实现 在实现基于UDP的聊天程序时,通常会将程序分为几个类: - **主类**(例如`Chat`):通常包含主函数`main`,用于启动应用程序。 - **窗体类**(例如`FrameMain`):扩展了`JFrame`类,...
java多线程实现TCP连接UDP聊天的聊天程序
【基于UDP的聊天程序】 UDP(User Datagram Protocol,用户数据报协议)是互联网协议栈中的一个传输层协议,它提供了一种无连接、不可靠的数据传输服务。与TCP(Transmission Control Protocol,传输控制协议)相比...
Java UDP多人聊天室是一个利用Java语言和用户数据报协议(UDP)开发的多用户交互系统。UDP是一种无连接的、不可靠的传输协议,适用于实时通信和对速度要求较高的场景,因为它无需建立连接,直接发送数据包,减少了...
java写的UDP聊天程序 十分好用哦!下载联系277937187
这个"UDP.rar"可能包含了一个简单的本地UDP聊天程序,让我们来深入探讨一下相关的Java UDP编程知识点: 1. **DatagramSocket类**:这个类代表了UDP的套接字,用于发送和接收数据报。创建一个DatagramSocket实例,...
标签"udp_java_udp聊天"和"udp_java_服务"进一步强调了这个系统是基于Java的UDP通信,实现了一个简单的聊天功能,其中服务器负责接收和转发消息,客户端负责发送和接收消息。 总的来说,这个项目提供了一个基础的...
Java UDP聊天程序是一种基于用户数据报协议(UDP)的通信应用。UDP是传输层协议,与TCP(传输控制协议)不同,它不提供连接、顺序保证或错误校正,因此速度较快,但可能会丢失数据。这个Java项目允许用户进行简单的...
标题中的“UDP聊天程序_rowqfw_网络编程_udp进行c/s编程_”表明这是一个关于使用UDP(用户数据报协议)实现C/S(客户机/服务器)架构的简单聊天程序项目。在这个项目中,我们将深入探讨UDP协议的特点以及如何在C/S...
Java基于UDP协议的聊天程序是一种实现网络通信的应用实例,它利用了无连接的用户数据报协议(User Datagram Protocol,简称UDP)进行数据传输。在这个完整版的程序中,开发者已经完成了从设计到调试的全部过程,使其...
Java UDP(用户数据报协议)聊天程序是一种基于无连接网络协议的应用,用于实现点对点通信。在Java中,我们通常使用`java.net.DatagramSocket`类来处理UDP通信。这种类型的通信允许数据包快速地发送到网络上的任何...
java实现P2P聊天程序,使用UDP协议。 含有GUI,带有注释。 若有不足,欢迎指正。
【标题】"基于UDPjava聊天程序"涉及到的核心技术是Java编程语言与用户数据报协议(UDP)的结合,用于创建一个简单的聊天应用。在Java中,UDP通信主要通过`java.net.DatagramSocket`和`java.net.DatagramPacket`类来...
UDP不保证数据包的顺序、完整性和可靠性,因此在设计UDP聊天室时,需要开发者自行处理这些方面的问题。例如,可能会出现数据包重复、丢失或乱序的情况,需要通过编程逻辑来解决这些问题。 在描述中提到,用户端的...