2020/7/5

客户端步骤:

1、创建Socket。

  根据指定服务端的IP地址或者端口号构造Socket类对象:

  Socket socket  =  new  Socket(InetAddress.getByName("127.0.0.1"), 9090);

2、打开连接到Socket的输入/输出流 ,进行数据传输。

  OutputStream   out =  socket.getOutputStream();

3、按照一定的协议对Socket进行读写操作。

  out.write("hello".getBytes());

4、关闭Socket。

  socket.close();

服务端步骤:

1、调用ServerSocket(int port) 来创建一个服务端套接字,并且绑定到指定端口上,用于监听客户端的请求。

  ServerSocket  ss =  new  ServerSocket(9090);

2、调用accept() 监听连接请求,如果客户端请求连接,则接受连接,返回通信套接字对象。

  Socket  socket  = ss.accept();

3、调用该Socket类对象的 getOutputStream() 和 getInputStream(),获取输出流和输入流,开始网络数据

  的发送和接收。

  InputStream  in = socket.getInputStream();

4、关闭ServerSocket 和 Socket 对象,客户端访问结束,关闭通信套接字。

  

基于Socket的编程的更多相关文章

  1. 基于Socket网络编程

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/a2011480169/article/details/73602708 博客核心内容: 1.Sock ...

  2. Java Web 基础(一) 基于TCP的Socket网络编程

    一.Socket简单介绍 Socket通信作为Java网络通讯的基础内容,集中了异常.I/O流模式等众多知识点.学习Socket通信,既能够了解真正的网络通讯原理,也能够增强对I/O流模式的理解. 1 ...

  3. socket 网络编程高速入门(一)教你编写基于UDP/TCP的服务(client)通信

    由于UNIX和Win的socket大同小异,为了方便和大众化,这里先介绍Winsock编程. socket 网络编程的难点在入门的时候就是对基本函数的了解和使用,由于这些函数的结构往往比較复杂,參数大 ...

  4. Python Socket 网络编程

    Socket 是进程间通信的一种方式,它与其他进程间通信的一个主要不同是:它能实现不同主机间的进程间通信,我们网络上各种各样的服务大多都是基于 Socket 来完成通信的,例如我们每天浏览网页.QQ ...

  5. Python全栈【Socket网络编程】

    Python全栈[socket网络编程] 本章内容: Socket 基于TCP的套接字 基于UDP的套接字 TCP粘包 SocketServer 模块(ThreadingTCPServer源码剖析) ...

  6. Python之路【第七篇】python基础 之socket网络编程

    本篇文章大部分借鉴 http://www.cnblogs.com/nulige/p/6235531.html python socket  网络编程 一.服务端和客户端 BS架构 (腾讯通软件:ser ...

  7. Java Socket网络编程的经典例子(转)

    事实上网络编程简单的理解就是两台计算机相互通讯数据而已,对于程序员而言,去掌握一种编程接口并使用一种编程模型相对就会显得简单的多了,Java SDK提供一些相对简单的Api来完成这些工作.Socket ...

  8. 基于Socket的UDP发包程序

    UDP(User Datagram Protocol,用户数据报协议)是在互联网中常用的传输层协议,该协议提供了向另一用户程序发送的消息的最简便的协议机制.与TCP一样,其默认的下层协议是IP.UDP ...

  9. 循序渐进Socket网络编程(多客户端、信息共享、文件传输)

    循序渐进Socket网络编程(多客户端.信息共享.文件传输) 前言:在最近一个即将结束的项目中使用到了Socket编程,用于调用另一系统进行处理并返回数据.故把Socket的基础知识总结梳理一遍. 1 ...

随机推荐

  1. # 火题小战 A.玩个球

    火题小战 A.玩个球 题目描述 给你 \(n\) 种颜色的球,每个球有 \(k\) 个,把这 \(n\times k\) 个球排成一排,把每一种颜色的最左边出现的球涂成白色(初始球不包含白色),求有多 ...

  2. 面试不知如何回答这六大知识点,你还敢说熟悉MySQL?

    文章目录 一.事务 1. 什么是事务 2. 事务的四大特性 3. 事务的并发问题 ① 事务并发问题什么时候发生? ② 事务的并发问题有哪些? ③ 如何避免事务的并发问题? 二.索引 1. 什么是索引 ...

  3. 【源码】RocketMQ如何实现获取指定消息

    概要 消息查询是什么? 消息查询就是根据用户提供的msgId从MQ中取出该消息 RocketMQ如果有多个节点如何查询? 问题:RocketMQ分布式结构中,数据分散在各个节点,即便是同一Topic的 ...

  4. SpringSecurity权限管理系统实战—七、处理一些问题

    目录 SpringSecurity权限管理系统实战-一.项目简介和开发环境准备 SpringSecurity权限管理系统实战-二.日志.接口文档等实现 SpringSecurity权限管理系统实战-三 ...

  5. Java 中几种常用设计模式

    Java 中一般认为有23种设计模式,当然暂时不需要所有的都会,但是其中常见的几种设计模式应该去掌握. 总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式.抽象工厂模式.单例模式.建造者模 ...

  6. 第1篇 Scrum冲刺博客

    一.Alpha阶段各成员任务 梁天龙 任务名称 预计工时  编辑历史记录  2  登陆按键设计  3  考勤记录页面 2  人数记录页面  2  学习课程页面 4  建议页面  2 黄岳康 任务名称 ...

  7. Deep Models Under the GAN: Information Leakage from Collaborative Deep Learning

    郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! arXiv:1702.07464v3 [cs.CR] 14 Sep 2017 以下是对本文关键部分的摘抄翻译,详情请参见原文. ABSTR ...

  8. MySQL 数据库中的基础操作

    数据库中的表操作 1.创建表 表的表名命名规则: -- 数据库表命名规则重要说明: -- (1)数据库表名称可以支持大写字母A-Z,小写字母a-z,数字0-9,字符包括下划线 _ ,可以组合使用; - ...

  9. JAVA线程池原理与源码分析

    1.线程池常用接口介绍 1.1.Executor public interface Executor { void execute(Runnable command); } 执行提交的Runnable ...

  10. 深入了解Kafka【五】Partition和消费者的关系

    1.消费者与Partition 以下来自<kafak权威指南>第4章. 假设主题T1有四个分区. 1.1.一个消费者组 1.1.1.消费者数量小于分区数量 只有一个消费者时,消费者1将收到 ...