一,创建socket通讯的步骤

1,服务器端创建一个serversocket,通过accept方法等待客户端连接;

2,客户端创建一个socket请求连接服务器端;

3,服务器端接收到客户端的连接请求,并创建一个新的socket与该客户端建立专线连接;

4,刚才建立连接的两个socket是在一个线程上对话的;

5,服务器端开始等待新的连接请求。

二,数据传输

1,TCP协议

面向连接的可靠传输协议,得到顺序无差错的数据流。支持双向数据传输,即发送方和接收方都可以进行发送和接收操作。

建立TCP连接需要3次握手,第一次:客户端发送到服务器端,等待服务器端确认;第二次:服务器端接收到连接请求,确认客户端后向客户端发送请求;第三次:客户端接收到服务器端发送信息后确认。注意的是,在3次握手期间是没有数据传输的,只是完成TCP连接。连接完成以后才开始进行数据传输实现通讯,服务器端和客户端都可以通过断开连接。

2,UDP协议

与TCP相反,TCP面向连接,UDP没有连接状态,数据独立,包括完整的源地址和目的地址,难以保证数据传输的内容时间和实现。

3,TCP协议和UDP协议的区别

TCP:

①面向连接,必须创建连接才能通讯;

②数据传输大小没有限制;

③TCP是一个可靠协议,确保接收方完全正确接收发送方发送的数据。

UDP:

①非连接通讯,每个数据报文中都有完整的地址信息;

②大小限制,64KB以内;

③不可靠,接收数据无法确定顺序,内容时间和完成。

三,Java实现socket网络编程(demo)

1,基于TCP协议

TODO 后面再提供demo代码

Java网络编程socket实现(demo)相关推荐

  1. Java网络编程 Socket、ServerSocket 详解,方法介绍及完整代码示例

    Java网络编程 Socket.ServerSocket 详解,方法介绍及完整代码示例 概念 什么是网络编程? 网络编程是指编写运行在多个设备(计算机)的程序,这些设备通过网络连接起来.当这些通过网络 ...

  2. java网络编程socket\server\TCP笔记(转)

    java网络编程socket\server\TCP笔记(转) 2012-12-14 08:30:04|  分类: Socket |  标签:java  |举报|字号 订阅 1 TCP的开销 a  连接 ...

  3. Java网络编程——Socket 编程

    Socket 编程 Socket编程是在TCP/IP上的网络编程,但是Socket在上述模型的什么位置呢.这个位置被一个天才的理论家或者是抽象的计算机大神提出并且安排出来 我们可以发现Socket就在 ...

  4. JAVA网络编程Socket常见问题 【长连接专题】

    一. 网络程序运行过程中的常见异常及处理 第1个异常是 java.net.BindException:Address already in use: JVM_Bind. 该异常发生在服务器端进行new ...

  5. Java网络编程socket基础学习

    文章目录 InetAddress类 URL类 URLConnection类 使用URLConnection发送post请求 Socket类 DatagramSocket MulticastSocket ...

  6. java网络编程Socket实现客户端向服务端发送信息

    (可按目录按需阅读,我一般会整理的比较细) 前置知识 java IO Socket 什么是socket?socket字面意思其实就是一个插口或者套接字,包含了源ip地址.源端口.目的ip地址和源端口. ...

  7. JAVA 网络编程 Socket 详细说明,实现客户端和服务端相互推送消息

    客户端代码: package com.lcx.socket;import java.io.BufferedReader; import java.io.BufferedWriter; import j ...

  8. java网络编程Socket中SO_LINGER选项的用法解读

    http://blog.sina.com.cn/s/blog_6b1990eb0101171o.html 1:设置该选项: public void setSoLinger(boolean on, in ...

  9. Java网络编程——Socket

    文章目录 服务器端(单线程) 服务器端(多线程) 客户端 服务器端(单线程) public class MySocketServer1 {private int port;private Server ...

  10. java网络编程,通过TCP,Socket实现多对一的局域网聊天室

    java网络编程,通过TCP,Socket实现多对一的局域网聊天室 可以实现多个客户端连接服务器,服务器接收到信息就会把信息广播到所有的客户端 这是服务器端的代码 View Code import j ...

最新文章

  1. 深度学习框架PyTorch快速开发与实战
  2. php模拟getua_php实现进行远程抓取百度网页内容,并伪装服务器端ip
  3. tomcat启动项目内存溢出问题
  4. 如何自学Android--转
  5. Swagger UI
  6. Spring Security 4 使用@PreAuthorize,@PostAuthorize, @Secured, EL实现方法安全
  7. EntityFramwork(1) 源地址https://msdn.microsoft.com/zh-cn/data/jj193542
  8. 伪元素before、after示例
  9. wifi的web 认证。
  10. SCOM 2012知识分享-16:管理任务窗格
  11. 萤火虫小程序_漫展广州丨第24届酷狗蘑菇萤火虫漫展圆满收官,我们国庆见!...
  12. BIOS调整服务器性能模式,BIOS优化性能提升明显 菜鸟必看的BIOS优化设置教程
  13. Qt5之图形视图框架(一)
  14. 转:CEO, CFO, CIO, CTO, CSO是什么
  15. 省钱兄同城跑腿小程序源码uniapp前端模版源码(小程序+APP+H5)
  16. sql UPDATE的时候可以使用join吗
  17. 必读论文 | 云机器人必读论文10篇
  18. Escape/Unescape,HTML实体编码,敲击码(Tap code),摩尔斯电码(Morse Code)
  19. Python热点舆情数据挖掘
  20. java中workFlowEvent_关于WorkFlow的使用以及例子

热门文章

  1. python 驱动级鼠标_电竞极速鼠标
  2. 概率论——负二项随机变量
  3. 各省简称 拼音 缩写_省份简称拼音
  4. 软件精选中的Windows软件安装目录,含软件包和安装教程
  5. 中孚保密检查客户端 完全卸载_中孚计算机终端保密检查工具
  6. Vue中 实现 Echarts 图表宽高自适应
  7. keil5 最新版注册机 下载
  8. PHP之Seay工具的安装与使用
  9. Educoder Java面向对象 - 常用类
  10. 中国最经典广告语大全