聊天Demo
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了聊天Demo相关的知识,希望对你有一定的参考价值。
简单聊天功能,没有界面
思路:创建两个线程,分别为接收线程和发送线程,由主函数开启
1、发送
a、接收soket
b、建立一个数据包,并将键盘录入的数据封装到数据包内
c、调用socket的发送函数,将数据包发送给10000端口
2、接收
a、接收socket
b、建立接收数据包及缓冲区
c、调用socke的接收函数,监听1000端口
b、将接收到的ip地址及信息提取出来
代码如下:
import java.net.*; import java.io.*; class Send implements Runnable { private DatagramSocket ds; public Send(DatagramSocket ds) { this.ds=ds; } public void run() { try{ BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in)); String line = null; while((line=bufr.readLine())!=null){ if("886".equals(line)) break; byte[] buf = line.getBytes(); DatagramPacket dp = new DatagramPacket(buf,buf.length,InetAddress.getByName("192.168.3.255"),10000); ds.send(dp); } } catch(Exception e){ throw new RuntimeException("fasong"); } } } class Rece implements Runnable { private DatagramSocket ds; public Rece(DatagramSocket ds) { this.ds=ds; } public void run() { try{ while(true){ byte[] buf =new byte[1024]; DatagramPacket dp = new DatagramPacket(buf,buf.length); ds.receive(dp); String ip = dp.getAddress().getHostName(); String data = new String(dp.getData(),0,dp.getLength()); System.out.println(ip+": "+data); }} catch(Exception e){ throw new RuntimeException("jieshou"); } } } class ChatDemo { public static void main(String[] args)throws Exception { DatagramSocket sendSocket = new DatagramSocket(); DatagramSocket receSocket = new DatagramSocket(10000); new Thread(new Send(sendSocket)).start(); new Thread(new Rece(receSocket)).start(); } }
以上是关于聊天Demo的主要内容,如果未能解决你的问题,请参考以下文章
详解 WebSocket 原理,附完整的聊天室实战 Demo
[vscode]--HTML代码片段(基础版,reactvuejquery)
12mmaction2 行为识别商用级别X3D复现 demo实现 检测自己的视频 Expanding Architecturesfor Efficient Video Recognition(代码片段