package www.itcast.cn; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.Socket; public class FileClient { public static void main(String[] args) throws IOException { //创建输入流,关联文件 FileInputStream in=new FileInputStream("c:\\a.txt"); //创建缓冲区 byte[] datas=new byte[1024]; //定义变量,记录字节数 in.read(datas); //建立客户端 Socket socket=new Socket("192.168.15.47",5001); //调用socket的方法 InputStream in1 = socket.getInputStream(); OutputStream out = socket.getOutputStream(); out.write(datas); out.close(); in.close(); } } package www.itcast.cn; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket; public class FileServer { public static void main(String[] args) throws IOException { //创建服务器 ServerSocket server=new ServerSocket(5001); //监听 Socket socket = server.accept(); InputStream in = socket.getInputStream(); OutputStream out = socket.getOutputStream(); //read接受文件 byte[] buffer=new byte[1024]; in.read(buffer); //写到服务器上 FileOutputStream ou = new FileOutputStream("D:\\tang.txt"); ou.write(buffer); ou.close(); in.close(); } }
package www.itcast.cn; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.Socket; import java.net.UnknownHostException; import java.util.Scanner; public class Client { public static void main(String[] args) throws UnknownHostException, IOException { System.out.println("客户端启动"); //创建客户端对象 Socket socket=new Socket("192.168.15.47",5001); //客户端想服务器发送消息 //String mess="helllo world"; Scanner scanner=null; while (true) { //创建输入流和输出流 InputStream in = socket.getInputStream(); OutputStream out=socket.getOutputStream(); String mess=scanner.nextLine(); //使用客户端的套接词的输出流 out.write(mess.getBytes()); if ("bye".equals(mess)) { break; } } //关闭资源 socket.close(); } } package www.itcast.cn; import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; import java.net.SocketException; public class ReceiveDemo { public static void main(String[] args) throws IOException { System.out.println("接受启动"); //创建数据报包以接受发送的数据报包 DatagramPacket packet=new DatagramPacket(new byte[1024], 1024); //创建套接词 DatagramSocket socket=new DatagramSocket(5000); //接受报包 socket.receive(packet); //获取字节数组 byte[] datas=packet.getData(); String mess=new String(datas); //获取IP String IP=packet.getAddress().getHostAddress(); //获取长度 int length=packet.getLength(); //获取端口 int port=packet.getPort(); System.out.println(IP+length+port); System.out.println(mess); socket.close(); } }
package www.itcast.cn; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.io.IOException; class ReceiveTang { public static void main(String[] args) throws IOException { System.out.println("接收端启动"); //创建数据报包,存储接收发送端发送的数据 DatagramPacket packet=new DatagramPacket(new byte[1024],1024); //创建数据报包套接词,准备接收数据报包 DatagramSocket socket=new DatagramSocket(2000); //套接词的方法receive接收数据报包 //z注意:没有返回值,直接接收存储到接收发送的数据报包中 socket.receive(packet); //从数据报包中获取数据 //返回数据缓冲区 byte[] datas=packet.getData(); //返回IP地址=>IP的字符串表现形式 String ip=packet.getAddress().getHostAddress(); //返回数据长度 int length=packet.getLength(); //返回端口号 int port=packet.getPort(); System.out.print("IP:"+ip+" length:"+length+" port:"+port); String mess = new String(datas, 0, length); System.out.print("发送端:"+ip+"发送了:"); System.out.println(mess); } } package www.itcast.cn; import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; class SendTang1 { public static void main(String[] args) throws Exception { System.out.println("发送端启动"); //准备数据 String mess="hello world"; byte[] datas=mess.getBytes(); //数据长度 int length = datas.length; //IP地址 InetAddress ip=InetAddress.getByName("PC-20150131PIUS"); //端口号 int port=2000; //封装数据报包 DatagramPacket packet=new DatagramPacket(datas,length,ip,port); //创建发送报包套接词,准备发送数据报包 DatagramSocket socket=new DatagramSocket(); //发送数据报报 socket.send(packet); //关闭数据报包套接词 socket.close(); } }
相关推荐
java用netty写udp与tcp.pdf
自已写的通信功能,两个机器互发信息,东西虽小,技术却一点没少,新手学习很方便
本文详细解释了TCP与UDP技术的基本区别,适合于那些对TCP/UDP概念比较模糊的同学
app项目为udp通信,tcpconnection为简单的tcp通信,亲测可用
UDP/TCP转发工具 网络转发调试工具 特别好用
湘潭大学 网络协议TCP/IP实验六 UDP 协议分析实验报告,仅供参考
关于ORACLE在应用程序同时使用UDP与TCP 端口发现的问题的解决方案
C#的UDP与TCP程序,简单应用,已经编译通过
这个是一个项目中的代码,执行通过的。用于UDP连接转TCP接收 的服务器接收程序。
TCP/UDP测试工具,建立服务器和客户端,便可实现模拟通信
1. 深入了解 TCP 和UDP 的区别与联系。 2. 掌握网络 Socket 编程的基本概念和基本编程方法。 3. 掌握 TCP 和UDP 的Client/Server 结构的程序的基本编程方法。
udp与tcp连接建立、数据传输、连接断开的报文分析
udp和tcp详解,socket网络编程,有详细的例子
UDP TCP 详细介绍 实现步骤 代码实例详解
利用UDP/TCP协议来进行简单的通信。
windows串口工具|UDP|TCP 1.串口调试助手:循环发送,监听数据返回 2.tcp调试助手,service|client端 3.udp调试助手 4.多语言
VB 网络抓取包工具 UDP与TCP通迅
Python编写 实现本地通信的简单UDP/TCP的socket连接的客户服务器程序 TCP的是基于Python2.7的 UDP的是基于Python3.7的
SocketTool调试软件是一款网络TCP/UDP通信调试工具,本工具集功能强大与简单易用为一体,是无需安装的免费绿色软件。她可以帮助网络编程人员、网络维护人员检查所开发的网络应用软硬件的通信状况。 ★ 全面集成 ...
UDP TCP测试程序 支持本地作为客户端、服务端 包分发