套接字之客户端和服务端的一次通信

来源:互联网 发布:中国导演 知乎 编辑:程序博客网 时间: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
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 车贷逾期车被贷款公司拖走了怎么办 发现邻居家小孩偷了我的钱该怎么办 孕晚期挺着大肚子好累怎么办 古墓丽影崛起东西满了怎么办 塞尔达传说大师剑耐久没了怎么办 冒险岛遇见超能力者全屏挂机怎么办 当危险来临时该怎么办作文400字 生气把孩子手掌内侧打肿了怎么办 驾驶证未满一年扣12分怎么办 在高速上超速百分之10以下怎么办 中兴手机重启死机开不了机怎么办 太胖了太自卑了该怎么办 儿子因为长的胖特别自卑怎么办? 苹果ld叫我检查身份信息怎么办 我家墙让对面给漂水了怎么办 如果你流落到荒岛上你会怎么办 手机迅雷下载版权方不给下载怎么办 白色有彩色花纹的衣服染色了怎么办 载兰花假如下雪和打霜怎么办 皇室战争你的队友离开了对战怎么办 海岛奇兵发现求救信号第三个怎么办 海岛奇兵勋章太多对手太强怎么办 鱼为什么换缸鱼翅黑了怎么办 鱼丸捕鱼大作战换手机了怎么办 2o岁j'j小怎么办 为什么小米5s指纹不能用怎么办 cs录屏软件运行内存太大了怎么办 可是没有他我怎么办啊是什么电视剧 可是没有他我怎么办啊是哪个电视剧 手机太卡了打字打不了了怎么办 梦幻西游的将军令没有电了怎么办 将军令全部的序列号都忘记了怎么办 船员证被公司压着想自己换证怎么办 电子录入系统中无法打开影像怎么办 火车票退票后说银行退款失败怎么办 苹果4s玩游戏闪退怎么办 买了二手房原房主不迁户口怎么办 苹果禁反忘记工id密码了怎么办 玩英雄联盟用腾讯游戏平台卡怎么办 游戏代练接单了没有给我账号怎么办 华为手机进入设置立即闪退怎么办