JAVA温习课堂14
来源:互联网 发布:linux 重启后挂载失败 编辑:程序博客网 时间:2024/04/27 06:29
52、TCP/IP 编程基础(国际标准)传输控制协议TCP,网络互联协议IP 网络编程的目的:直接或间接通过网络协议与其它计算机进行通讯 准确定义网络上一台或多台主机 InetAddress.getByName(String arg); 找到主机后如何可靠高效地进行数据传输 IP定位网络中的一台主机 端口定位主机的一个网络程序 InetAddress : 对象表示网络中的一个地址 Socket 对象 (套接字): 端口号与IP地址的组合得出网络套接字 连接到远程主机 绑定到端口 接收从远程机器来的连接请求 监听到达的数据 发送数据 接收数据 关闭连接实例代码:(服务端监听端口,客户端连接至服务端,两者进行通信) @Test public void testServerSocket() throws IOException{ ServerSocket serverSocket = new ServerSocket(8888); System.out.println("监听端口号8888"); Socket socket = serverSocket.accept(); OutputStream out = socket.getOutputStream(); DataOutputStream dou = new DataOutputStream(out); dou.writeUTF("此条信息~~来自服务器"); serverSocket.close(); socket.close(); } @Test public void testSocket() throws IOException{ InetAddress ip = InetAddress.getLocalHost(); String ipAddress = ip.getHostAddress(); System.out.println(ipAddress); Socket socket = new Socket(ipAddress,8888); InputStream in = socket.getInputStream(); DataInputStream din = new DataInputStream(in); System.out.println(din.readUTF()); din.close(); socket.close(); }实例代码:(服务端发送文件给客户端,客户端接收并存至硬盘!) @Test public void testFileSocket() throws IOException{ ServerSocket serverSocket = new ServerSocket(8888); System.out.println("等待连接......"); Socket socket = serverSocket.accept(); System.out.println("连接进入"); // 获取当前类目录下的配置文件 InputStream in = this.getClass().getResourceAsStream("爱很美.jpg"); byte [] buffer = new byte[1024]; int len = 0; OutputStream out = socket.getOutputStream(); while((len = in.read(buffer)) != -1){ out.write(buffer,0,len); } in.close(); out.close(); socket.close(); serverSocket.close(); } @Test public void testFileSocketClient() throws IOException{ InetAddress ip = InetAddress.getByName("127.0.0.1"); Socket socket = new Socket(ip,8888); // 读取服务器发过来的数据 InputStream in = socket.getInputStream(); OutputStream out = new FileOutputStream("E:\\爱很美.jpg"); byte[] buffer = new byte[1024]; int len = 0; while((len = in.read(buffer)) != -1){ out.write(buffer,0, len); } System.out.println("获取完成"); in.close(); out.close(); socket.close(); } UDP(DatagramSocket 和 DatagramPacket 实现基于UDP协议网络程序) DatagramPacket:对象封装了UDP数据报,在数据报中包含了客户端的IP地址和端口号以及服务器的IP地址和端口号 DatagramSocket: 发送和接收系统不保证UDP数据报一定能够安全送到目的地,也不能确定什么时候可以抵达
更新时间:2016年10月8日
0 0
- JAVA温习课堂14
- JAVA温习课堂1
- JAVA温习课堂2
- JAVA温习课堂3
- JAVA温习课堂4
- JAVA温习课堂5
- JAVA温习课堂6
- JAVA温习课堂7
- JAVA温习课堂8
- JAVA温习课堂9
- JAVA温习课堂10
- JAVA温习课堂11
- JAVA温习课堂12
- JAVA温习课堂13
- java温习
- Java温习
- Java基础温习
- Java基础温习
- Intent的使用
- Base: 一种Acid的替代方案
- iOS-UITextField中给placeholder动态设置颜色
- Objective-C Autorelease Pool 的实现原理
- JavaWeb开发中判断App端是否已登录的方式
- JAVA温习课堂14
- SQL面试题目汇总
- android 调用webservice出错
- 机器学习算法之七:5分钟上手SVM
- sql 查询科目成绩以及平均成绩
- 深入理解Redis中的主键失效及其实现机制
- 【Android实战之旅 004】Android摄像头基础
- Leetcode 283 Move zeros
- 如何查看当前ubuntu的版本信息