JAVA网络编程入门的两个demo(TCP+UDP)
来源:互联网 发布:unity3d 模型合并插件 编辑:程序博客网 时间:2024/06/08 16:07
TCP服务器端
package org.bruce.basic;import java.io.DataInputStream;import java.io.IOException;import java.net.Socket;import java.net.UnknownHostException;public class TestClient {public static void main(String[] args) {Socket s = null;try {s = new Socket("127.0.0.1", 8888);DataInputStream dis = new DataInputStream(s.getInputStream());System.out.println(dis.readUTF());dis.close();s.close();} catch (UnknownHostException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}}
TCP客户端
package org.bruce.basic;import java.io.DataOutputStream;import java.io.IOException;import java.net.ServerSocket;import java.net.Socket;public class TestServer {public static void main(String[] args) {ServerSocket ss = null;try {ss = new ServerSocket(9999);} catch (IOException e) {e.printStackTrace();}try {while(true) {Socket s = ss.accept();System.out.println("a client connect!");DataOutputStream dos = new DataOutputStream(s.getOutputStream());dos.writeUTF("IPAddress = " + s.getInetAddress() + "Port = " + s.getPort());dos.close();s.close();}} catch (IOException e) {e.printStackTrace();}}}
UDP服务器端
package org.bruce.basic;import java.io.IOException;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.SocketException;//UDP传输是一种无连接的数据传输方式,相较于TCP传输,它也是有它存在的道理的public class UDPServer {public static void main(String[] args) {//以 "字节数组" 的形式开辟一块内存用于缓存接收到的UDP数据包byte[] buffer = new byte[1024];//虽然开辟的缓冲内存大小为1024字节,但也可以设置一个小于该值的缓存空间接收数据包DatagramPacket dp = new DatagramPacket(buffer, buffer.length);DatagramSocket ds = null;try {//监听在UDP 9999 端口ds = new DatagramSocket(9999);} catch (SocketException e) {e.printStackTrace();}while(true) {try {//receive() 方法是一个阻塞性方法!ds.receive(dp);} catch (IOException e) {e.printStackTrace();}//从下一行代码中可以学习到一种用字节数组构造字符串对象的方法System.out.println(new String(buffer, 0, dp.getLength()));}}}
UDP客户端
package org.bruce.basic;import java.io.IOException;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetSocketAddress;import java.net.SocketException;public class UDPClient {public static void main(String[] args) {//先将 "Hello!" 封装成一个字符串对象,在调用其 getBytes() 方法将其转换成字节数组//转换成字节数组是为了方便传输byte[] buffer = (new String("Hello!")).getBytes();DatagramPacket dp = null;try {//将要发送的数据、要发送到什么地址设置好并打成一个 DatagramPacket 包dp = new DatagramPacket(buffer, buffer.length, new InetSocketAddress("127.0.0.1", 9999));} catch (SocketException e) {e.printStackTrace();}DatagramSocket ds = null;try {//new 一个DatagramSocket对象(即打开一个UDP端口准备从此处发出数据包)ds = new DatagramSocket(9998);ds.send(dp);ds.close();} catch (SocketException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}}
- JAVA网络编程入门的两个demo(TCP+UDP)
- JAVA网络编程入门的两个demo(TCP+UDP)
- java的基础网络编程:TCP/UDP
- JAVA网络编程 TCP、UDP
- java网络编程----TCP UDP
- Java网络编程,UDP TCP
- JAVA TCP/UDP网络编程
- java网络编程(TCP\UDP)
- 网络编程Tcp和UDP的入门学习
- java 网络编程 基于TCP ,UDP的网络传输
- 【Java】Java网络编程TCP与UDP
- java 网络编程 Tcp和UDP 的使用
- java网络编程之UDP和TCP的
- Java网络编程的知识点 Socket TCP UDP
- Java网络编程,Socket,ServerSocket使用,TCP,UDP的异同
- Java-Socket网络编程TCP和UDP的使用
- Java网络编程:TCP和UDP
- Java中的TCP/UDP网络通信编程
- Android如何修改系统文件访问权限
- 如何切底卸载Oracle
- VS2010中文注释带红色下划线的解决办法
- IIS-Server is too busy _解决方法
- php缓冲 output_buffering和ob_start
- JAVA网络编程入门的两个demo(TCP+UDP)
- MVC加载子页面方式
- destoon 实用手册1
- AtlAxWinInit疑问
- 黑马程序员-交通灯管理系统
- 鼠标事件
- 成就DBA的职业生涯
- destoon 实用手册2----数据库操作
- 用python实现数据结构--小结