java 网络编程 基于TCP ,UDP的网络传输
2014-06-15 14:12
856 查看
TCPClient.java
import java.io.*; import java.net.*; public class TCPClient{ public static void main(String []args){ Socket s = null; DataOutputStream dos = null; DataInputStream dis = null; try{ s = new Socket("127.0.0.1",8888); dis = new DataInputStream(s.getInputStream()); dos = new DataOutputStream(s.getOutputStream()); dos.writeUTF("张燕茹是大傻逼,150****XXXX,求虐呀"); String str = null; while((str=dis.readUTF())!=null){ System.out.println(str); } }catch(Exception e){ e.printStackTrace(); } try{ dis.close(); dos.close(); s.close(); }catch(IOException e){ e.printStackTrace(); } } }
TCPServer
import java.net.*; import java.io.*; public class TCPServer{ public static void main(String []args){ ServerSocket ss = null; DataInputStream dis = null; DataOutputStream dos = null; Socket s = null; try{ ss = new ServerSocket(8888); while(true ){ try{ s = ss.accept(); System.out.println("one client coming"+s.getLocalAddress().getHostName()); dis = new DataInputStream(s.getInputStream()); dos = new DataOutputStream(s.getOutputStream()); System.out.println(dis.readUTF()); dos.writeUTF("from server hello"); }catch(Exception e){ e.printStackTrace(); } } }catch(Exception e ){ e.printStackTrace(); } try{ dos.close(); dis.close(); s.close(); ss.close(); }catch(IOException e){ e.printStackTrace(); } } }
UDPCLient
import java.io.*; import java.net.*; public class UDPClient{ public static void main(String []args){ Long n = 10000L; ByteArrayOutputStream baos = new ByteArrayOutputStream(); DataOutputStream dos = null; dos = new DataOutputStream(baos); try{ dos.writeLong(n);//将一个 long 值写入输出流,该值由八个字节组成.此方法写入的、//字节可由 DataInput 接口的 readLong 方法读取,然后该方法将返回一个等于 v 的 long //值。 byte []buffer = baos.toByteArray(); //构造一个缓冲区 DatagramPacket dp = new DatagramPacket(buffer,buffer.length,new InetSocketAddress("127.0.0.1",5678)); //构造数据报包,用来将长度为 length 的包发送到指定主机上的指定端口号。 DatagramSocket ds = new DatagramSocket(8888); ds.send(dp); //从此套接字发送数据报包。DatagramPacket 包含的信息指示://将要发送的数据、其长度、远程主机的 IP 地址和远程主机的端口号。 ds.close(); }catch(IOException e){ e.printStackTrace(); } } }
UDPServer
import java.io.*; import java.net.*; public class UDPServer{ public static void main(String []args){ try{ byte[] buffer = new byte[1024]; DatagramPacket dp = new DatagramPacket(buffer,buffer.length); ByteArrayOutputStream baos = new ByteArrayOutputStream(); DatagramSocket ds = new DatagramSocket(5678); while(true){ ds.receive(dp); ByteArrayInputStream bais = new ByteArrayInputStream(buffer); DataInputStream dis = new DataInputStream(bais); System.out.println(dis.readLong()); } }catch(IOException e){ e.printStackTrace(); } } }
建议多去查上面使用到函数的API
相关文章推荐
- 黑马程序员_java网络编程——UDP传输和TCP传输
- Java网络编程(基于TCP和UDP的通信实现)
- 黑马程序员--10.网络编程--02.【网络传输三要素在Java中的体现】【TCP和UDP概念】【Socket基本概念】
- java 网络编程 [网络传输] [协议] [UDP与TCP] [套接字] [URL与URI]
- JAVA基础 day25 网络编程 IP类 UDP,TCP传输学习 简易聊天工具 TCP并发学习
- 黑马程序员——java网络编程中的传输协议:UDP和TCP
- java基础学习-- 网络编程之TCP和UDP
- Java中的TCP/UDP网络通信编程
- 黑马程序员 Java网络传输UDP和TCP协议
- java 网络编程 Tcp和UDP 的使用
- [转贴]基于UDP、TCP协议的C#网络编程之一
- 网络编程——基于TCP的程序设计和基于UDP的程序设计
- Java中的TCP/UDP网络通信编程
- Java中的TCP/UDP网络通信编程
- JAVA网络编程入门的两个demo(TCP+UDP)
- 【转载】 基于UDP、TCP协议的C#网络编程
- java网络编程(一) socket方式TCP和Datagram的UDP
- JAVA网络编程入门的两个demo(TCP+UDP)
- Java 网络编程 TCP vs UDP
- 基于TCP、UDP网络传输的实例分析