UDP聊天程序
来源:互联网 发布:尚学堂白鹤翔js第二季 编辑:程序博客网 时间:2024/06/08 13:23
通过键盘录入获取要发送的信息。
将发送和接收分别封装到两个线程中
package cn.hncu.udp.chat2;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress;import java.net.SocketException;import java.net.UnknownHostException;import java.util.Scanner;public class UDPChat {public static void main(String[] args) { try {DatagramSocket send=new DatagramSocket(10003);DatagramSocket receive=new DatagramSocket(10004);new Thread(new Send(send)).start();new Thread(new Receive(receive)).start();} catch (Exception e) {e.printStackTrace();}}}class Send implements Runnable{ private DatagramSocket send;public Send(DatagramSocket send) {this.send=send;}@Overridepublic void run() {BufferedReader br=new BufferedReader(new InputStreamReader(System.in));String line=null;try {while((line=br.readLine())!=null){byte[] buf=line.getBytes();DatagramPacket dp=new DatagramPacket(buf, buf.length, InetAddress.getByName("127.0.0.1"), 10002);send.send(dp);if("over".equals(line)){break;}}send.close();} catch (UnknownHostException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}}class Receive implements Runnable{ private DatagramSocket ds;public Receive(DatagramSocket receive) { this.ds=receive;}@Overridepublic void run() {while(true){byte[] buf=new byte[1024];try {DatagramPacket dp=new DatagramPacket(buf, buf.length);ds.receive(dp);String ip=dp.getAddress().getHostAddress();String data=new String(dp.getData(),0,dp.getLength());System.out.println(ip+"-----说"+data);if("over".equals(data)){System.out.println(ip+"离开聊天室");break; }} catch (IOException e) {e.printStackTrace();}}}}
0 0
- UDP聊天程序
- udp聊天小程序
- UDP聊天程序补充
- UDP聊天程序
- UDP 聊天测试程序
- Java UDP聊天程序
- 【Java】UDP聊天程序
- UDP协议聊天程序
- UDP聊天程序
- MFC UDP 聊天程序
- UDP实现简单聊天程序
- udp网络聊天控制台程序
- 基于UDP简单聊天程序
- C# UDP 网络聊天程序
- 黑马程序员-UDP聊天程序
- UDP聊天程序学习笔记
- 基于UDP的聊天程序
- C# UDP 聊天窗口程序
- 自定义View 01 --网络请求返回数据为空时的提示界面
- 多线程-Future
- 编译hbase-1.2.3源代码
- 音频(三) - 录制播放PCM音频流和WMV音频文件
- 第八周-求值
- UDP聊天程序
- c#解析FLV文件
- Install Qt4 on Ubuntu KyLin 16.04
- mysql开启允许运程登陆
- C语言实现简单黑客帝国代码流
- 第八周训练7谁是小偷
- Maven学习总结(一)——Maven入门
- 数据库添加插入语句
- 你想成为出色的代码编写者吗?奉上八大方式