Java用UDP實現簡單聊天
伺服器程式碼
import network.day1.Server;
import java.io.IOException;
import java.net.*;
import java.util.Scanner;
/**
* @ClassName UdpServer
* @Description TODO
* @Author 碼農天宇
* @Date 2020/12/6 16:28
* @Version 1.0
*/
public class UdpTalkServer {
public static void main(String[] args) throws IOException {
Scanner sc = new Scanner(System.in);
//建立伺服器物件 並指定埠
DatagramSocket server = new DatagramSocket(9876);
while (true){
//建立資料包,接受資料
byte[] recv = new byte[1024];
DatagramPacket packetRecv = new DatagramPacket(recv,0, recv.length);
//接收訊息
server.receive(packetRecv);
//讀取資料
String recvDate = new String(recv,0, packetRecv.getLength());
System.out.println("客戶端: " + recvDate);
//獲取客戶端ip
InetAddress address = packetRecv.getAddress();
//獲取客戶端埠
int port = packetRecv.getPort();
//建立資料包
System.out.print("伺服器: ");
byte[] send = sc.next().getBytes();
DatagramPacket sendDate = new DatagramPacket(send,send.length,address,port);
//傳送資料給客戶端
server.send(sendDate);
//關閉資源
//server.close();
}
}
}
客戶端程式碼
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.Socket;
import java.util.Scanner;
/**
* @ClassName UdpClient
* @Description TODO
* @Author 碼農天宇
* @Date 2020/12/6 16:28
* @Version 1.0
*/
public class UdpTalkClient {
public static void main(String[] args) throws IOException {
Scanner sc = new Scanner(System.in);
//建立客戶端
DatagramSocket client = new DatagramSocket();
//定義客戶端地址,埠號
InetAddress address = InetAddress.getByName("localhost");
int port = 9876;
while (true){
//建立資料
System.out.print("客戶端: ");
byte[] send = sc.next().getBytes();
DatagramPacket packet = new DatagramPacket(send, send.length,address,port);
//傳送資料
client.send(packet);
//建立資料包,用於接受資料
byte[] recv = new byte[1024];
DatagramPacket packetRecv = new DatagramPacket(recv,0,recv.length);
//接受資料
client.receive(packetRecv);
//讀取並列印資料
String recvDate = new String(recv,0,recv.length);
System.out.println("伺服器: " + recvDate);
//關閉
//client.close();
}
}
}
server
客戶端: 你好,伺服器
伺服器: 你好,客戶端
客戶端: 一個i澳網i李剛i熬過i奧
伺服器: 嗷嗷嗷
client
客戶端: 你好,伺服器
伺服器: 你好,客戶端
客戶端: 一個i澳網i李剛i熬過i奧
伺服器: 嗷嗷嗷
客戶端:
相關文章
- 聊聊UDP、TCP和實現一個簡單的JAVA UDP小DemoUDPTCPJava
- 用Java程式碼實現一個簡單的聊天室功能Java
- 用node實現一個簡單的聊天室——websocket實踐Web
- 重構 JAVA 聊天室 —— CS 模式的簡單架構實現Java模式架構
- Laravel + Vue + Swoole 實現的簡單 Web 聊天LaravelVueWeb
- Python實現簡單的udp打洞(P2P)PythonUDP
- Node TCP /UDP 簡易聊天室TCPUDP
- 用node實現一個簡單的聊天室—— 升級版
- 花裡胡俏地用Dart+Flutter實現簡單聊天功能DartFlutter
- java實現UDP通訊JavaUDP
- TCP和UDP實現簡單一對一通訊TCPUDP
- 用Java構建一個簡單的WebSocket聊天室JavaWeb
- 如何用Python實現多工版的udp聊天器PythonUDP
- webscoket+jsp實現簡單的多人聊天頁面WebJS
- 使用WebSocket實現一個簡單的頁面聊天Web
- WinForm的Socket實現簡單的聊天室 IMORM
- java實現簡單的JDBCJavaJDBC
- 用java實現一個簡單的區塊鏈Java區塊鏈
- 用java實現一個簡單的計算器Java
- UDP 協議簡單瞭解及應用UDP協議
- Lumen/Laravel 整合 GatewayWorker (Workerman),實現簡單的聊天系統.LaravelGateway
- SpringBoot2 整合 WebSocket 簡單實現聊天室功能Spring BootWeb
- java實現棧的簡單操作Java
- python實現的簡單點對點(p2p)聊天Python
- UNIX Domain Socket實現簡易聊天AI
- Java 新特性總結——簡單實用Java
- Java使用Netty實現簡單的RPCJavaNettyRPC
- 簡單快遞系統 java實現Java
- Java 基於UDP 實現單播、組播、廣播 Socket 程式設計JavaUDP程式設計
- SwiftNIO初探-簡單UDP通訊SwiftUDP
- JAVA通訊(三)——實現多人聊天Java
- Java中用Aeron實現UDP訊息傳遞JavaUDP
- 用ListView簡單實現滑動列表View
- 用natapp簡單實現內網穿透APP內網穿透
- python 實現 TCP、UDP 客戶端最簡流程PythonTCPUDP客戶端
- Java Web簡單登陸功能的實現JavaWeb
- 使用Java實現簡單的鬥地主案例Java
- Java 簡單實現撲克牌抽象類Java抽象