刚学习JAVA socket 时的一个例子,希望对新手有用。
import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Frame;
import java.awt.Label;
import java.awt.Panel;
import java.awt.TextArea;
import java.awt.TextField;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.awt.event.*;
class Client extends Frame implements Runnable{
Panel panel;
TextArea ta;
TextField tf2,tf_host,tf_name;
Button b1;
Label l;
byte sdata[];
byte rdata[];
InetAddress ad;
DatagramPacket out,in;
DatagramSocket ds1,ds2;
String mm;
Thread tt;
public static void main(String[] args) {
new Client("华软UDP聊天室");
}
public Client(String ss){
super(ss);
panel=new Panel();
ta=new TextArea(12,50);
panel.add(ta);
panel.add(new Label("主机:"));
tf_host=new TextField("127.0.0.1",15);
tf2=new TextField("This is a text",40);
b1=new Button("发送消息");
l=new Label("消息:");
panel.add(tf_host);
panel.add(new Label(" 昵称:"));
tf_name=new TextField("猪八戒",10);
panel.add(tf_name);
panel.add(l);
panel.add(tf2);
panel.add(b1);
add(panel);
setBounds(100,100,400,330);
setVisible(true);
validate();
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent dd){
System.exit(0);
}
});
b1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ss){
sdata=(tf_name.getText().trim()+" 说:"+tf2.getText().trim()).getBytes();
try{
ad=InetAddress.getByName(tf_host.getText().trim());
out=new DatagramPacket(sdata,sdata.length,ad,666); //端口666
ds1=new DatagramSocket();
ds1.send(out);
ta.append(tf_name.getText().trim()+" 说:"+tf2.getText()+"\n");
}
catch(Exception dd){
ta.append("error");
}
}
});
tt=new Thread(this);
tt.start();
}
public void run(){
rdata=new byte[100];
try{
in=new DatagramPacket(rdata,rdata.length);
ds2=new DatagramSocket(888); //监听端口888
}catch(Exception dd){
ta.append("Error");
}
while(true){
try{
ds2.receive(in);
mm=new String(in.getData(),0,in.getLength());
ta.append(mm+"\n");
}catch(Exception dd){
ta.append("Error2\n");
}
}
}
}
另外一端也很简单,只要把上面的程序端口那里,把666 和888 调换就可以了。
分享到:
相关推荐
【标题】:“简单UDP聊天室 java版” 【描述】中的知识点主要涉及到的是基于Java实现的一个简单的用户数据报协议(UDP)聊天室。UDP是一种无连接的、不可靠的传输层协议,它在互联网协议族中扮演着重要的角色。这个...
【UDP聊天室客户端】是一个基于C++编程语言实现的网络通信工具,主要利用了用户数据报协议(User Datagram Protocol,UDP)进行数据传输。UDP是一种无连接、不可靠的传输协议,它不保证数据包的顺序、不进行重传,...
在UDP聊天室中,当一个用户成功连接到服务器并登录后,服务器会广播一条消息,通知所有在线用户新用户已上线。这涉及到UDP的无连接特性和广播机制。UDP不需要像TCP那样建立连接,而是直接发送数据报文,因此可以...
【C# UDP聊天室】是一个基于C#编程语言实现的简单网络通信应用,它利用了用户数据报协议(UDP)进行数据传输。UDP是一种无连接的、不可靠的传输协议,相比TCP,它更注重速度和低延迟,适用于实时通信如语音聊天、...
UDP聊天室源码是一个基于用户数据报协议(UDP)实现的多用户聊天应用程序。UDP是一种无连接的、不可靠的传输层协议,它相对于TCP(传输控制协议)来说,具有更低的延迟和更高的效率,适合实时通信或者对数据丢失不太...
综上所述,这个项目展示了如何利用UDP协议、SQLite3数据库和链表数据结构来创建一个简单的聊天室应用。开发者需要具备UDP协议理解、数据库操作和链表数据结构的使用经验,同时熟悉C语言编程,才能成功实现这样的项目...
Java之UDP聊天室是一个实现多对多通信的项目,它基于用户数据报协议(User Datagram Protocol,UDP)来构建。UDP是一种无连接的、不可靠的传输层协议,相较于TCP,它具有更低的延迟和更高的效率,适合实时通信或者对...
### 外文文献UDP聊天室程序的关键知识点 #### 一、引言与背景 - **UDP简介**:用户数据报协议(User Datagram Protocol,UDP)是一种无连接的传输层协议,它不提供可靠的数据传输服务,但具有低开销、高效率的特点...
【基于UDP协议的聊天室设计】是一个典型的网络编程项目,主要涵盖了UDP(用户数据报协议)的基础知识,以及如何利用这种协议实现一个简单的聊天室功能。UDP是传输层的一种无连接协议,它不保证数据包的顺序、完整性...
在VB6(Visual Basic 6)环境中开发一个UDP聊天室是一项涉及网络编程和多线程技术的任务。UDP(User Datagram Protocol)是一种无连接的、不可靠的传输协议,常用于实时数据交换,如在线游戏和视频流等。下面将详细...
本项目“C语言实现的UDP聊天室”是一个基础的网络通信示例,它利用了用户数据报协议(UDP)进行数据传输,为用户提供一个简单的多人聊天环境。UDP是一种无连接的、不可靠的传输协议,相对于TCP而言,它的特点是速度...
创建一个简单的UDP聊天室,我们需要以下几个主要步骤: 1. **服务器端**: - 创建一个UDP套接字,使用`socket()`函数。 - 绑定IP地址和端口,使用`bind()`函数,通常选择INADDR_ANY来监听所有网络接口。 - 开始...
【标题】:“一个简单的UDP聊天室” 在计算机网络编程中,UDP(User Datagram Protocol)是一种无连接的传输层协议,它提供了比TCP更快速、更低延迟的通信方式,但不保证数据包的顺序和可靠性。这个“简单的UDP聊天...
QT UDP聊天室软件是一款利用QT库和UDP协议开发的多用户聊天应用,它允许在同一局域网内的多个成员进行实时通信。这个项目展示了如何利用网络编程技术构建一个基本的聊天平台,尤其关注UDP(用户数据报协议)的使用。...
"udp聊天室16031125" 是一个特定的项目名称,表明这是一个基于UDP协议的网络聊天室实现,时间戳“16031125”可能指的是项目的创建或更新日期。"udp聊天室 java,Python" 指出该聊天室的实现涉及两种编程语言:Java和...
在这个“TCP+UDP聊天室”项目中,我们看到这两种协议被巧妙地结合起来,以实现高效且可靠的通信。 首先,TCP是一种面向连接的、可靠的协议。它在数据传输前会先建立连接,并通过三次握手确保双方都能正常通信。在...
使用 Qt 基于 UDP 协议构建网络聊天室实例,包含 UdpServerDemo 和 UdpClientDemo 两部分程序,由于 UDP 方式不会建立连接,所以在服务端采用QList容器管理客户端状态。
UDP聊天室的工作原理是基于广播或者多播的方式,每个参与者都会发送消息到一个特定的端口,其他所有监听该端口的用户都能接收到这些消息。这个过程涉及到的主要概念和技术包括: 1. **端口**:在UDP中,数据报文...
【基于UDP的简单局域网聊天室框架】是一种利用UDP(User Datagram Protocol)协议实现的简易聊天室系统,适用于初学者学习网络编程。这个框架主要实现了基础的群聊功能,包括用户上线、下线以及成员列表的变化显示。...
在本项目中,“点对点通讯UDP聊天室VB程序”是一个基于UDP协议的VB(Visual Basic)实现的聊天应用程序。UDP(User Datagram Protocol)是一种无连接的、不可靠的传输层协议,它提供了快速的数据传输,但不保证数据...