套接字之客户端和服务端的一次通信
来源:互联网 发布:中国导演 知乎 编辑:程序博客网 时间:2024/05/17 22:23
package com.forward.date20170427.one_to_oneforone;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.Socket;import java.net.UnknownHostException;/** * @Description: 客户端类, 一个客户端和一个服务器端一次通信 * @author forward * @date 2017年4月27日 下午11:17:14 * @version V2.0 */public class Client {public static void main(String[] args) {OutputStream os = null;InputStream is = null;Socket s = null;try {System.out.println("客户端");// 1、创建Socket套接字 //流套接字s = new Socket("127.0.0.1", 1766);// 2、一个客户端和一个服务器的一次通信System.out.println("客户端和服务端开始一次交互");// 2-1写数据到服务端os = s.getOutputStream();byte[] osBuf = "服务器,你好!".getBytes();os.write(osBuf);// 2-2从服务端读数据is = s.getInputStream();byte[] isBuf = new byte[512];int index = is.read(isBuf);System.out.println("收到服务器消息:" + new String(isBuf, 0, index));// 3、关闭连接System.out.println("客户端断开连接!");os.close();is.close();s.close();} catch (UnknownHostException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}}package com.forward.date20170427.one_to_oneforone;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.ServerSocket;import java.net.Socket;/** * @Description: 服务器端,一个客户端和一个服务器端一次通信 * @author forward * @date 2017年4月27日 上午11:40:47 * @version V2.0 */public class Server {public static void main(String[] args) {ServerSocket listener = null;Socket s = null;InputStream is = null;OutputStream os = null;try {// 1、创建服务器套接字 创建一个ServerSocket类,同时在运行该语句的计算机的指定端口处建立一个监听服务listener = new ServerSocket(1766);// 2、创建新套接字 并返回一个用于与该Client通信的Socket对象Link-SocketServer程序// ServerSocket 进行accept之后,就将主动权转让了。该Socket对象绑定了客户程序的IP地址或端口号。System.out.println("服务端等待连接中。。。");s = listener.accept();// 3、Server程序只要向这个Socket对象读写数据,就可以实现向远端的Client读写数据// 3、一个客户端和一个服务器的一次通信System.out.println("服务端和客户端开始一次交互");// 3-1从客户端读数据is = s.getInputStream();byte[] isBuf = new byte[512];int index = is.read(isBuf);System.out.println("收到客户端消息:" + new String(isBuf, 0, index));// 3-2写数据到客户端os = s.getOutputStream();byte[] osBuf = "我已收到".getBytes();os.write(osBuf);// 4、断开连接System.out.println("服务器端断开连接!");is.close();os.close();s.close();listener.close();} catch (IOException e) {e.printStackTrace();}}}
运行效果:
0 0
- 套接字之客户端和服务端的一次通信
- 数据报套接字服务端和客户端
- 网络编程二(套接字Socket、客户端和服务端通信问题)
- Socket套接字:客户端与服务端进行通信
- 【C++】Winsock套接字编程,简单的TCP/IP通信代码(客户端、服务端)
- 流式套接字实现简单的客户端/服务端通信过程
- 【网络编程】使用流式套接字实现简单的客户端/服务端通信过程
- 使用流式套接字实现简单的客户端/服务端通信过程
- 流式套接字实现简单的客户端/服务端通信过程
- 怎样实行客户端和服务端的通信
- TCP的客户端和服务端通信
- 简单的Socket通信客户端和服务端
- 客户端和服务端通信的简单小案列
- 基于服务端和客户端之间的通信
- Netty实现客户端和服务端的通信
- net Winform socket 套接字聊天室客户端和服务端 源码
- net Winform socket 套接字聊天室客户端和服务端 源码
- 进程间通信系列 之 管道(客户端和服务端通信)
- SVN中的Branches分支以及Tags标签详解与应用举例
- 套接字必须知道的图
- trie树-《算法导论》学习笔记十四
- 剑指offer-树的子结构
- js数组Array对象常用方法总结
- 套接字之客户端和服务端的一次通信
- 三十六、SpringBoot配置属性之NOSQL
- Floodlight出现错误:Error! Check the fields specified for the flow.Make sure IPv4 fields are not mixed wi
- 参考博客进行SSM+websocket整合
- Java平台的脚本
- LeetCode(8)
- 《Angular2路由跳转之代码跳转》
- 我的IT两年
- Lecture 21 Parallel Algorithms II