java网络编程

网络编程是指编写运行在多个设备(计算机)的程序,这些设备都通过网络连接起来。
java.net包中J2SE的APl包含有类和接口,它们提供低层次的通信细节。你可以直接使用这些类和接口,来专注于解决问题,而不用关注通信细节。
java.net包中提供了两种常见的网络协议的支持:
TCP:TCP(英语:Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,TCР层是位于IP层之上,应用层之下的中间层。TCP保障了两个应用程序之间的可靠通信。通常用于互联网协议,被称TCP/ IP。
UDP: UDP (英语:User Datagram Protocol,用户数据报协议),位于OSI模型的传输层。一个无连接的协议。提供了应用程序之间要发送数据的数据报。由于UDP缺乏可靠性且属于无连接协议,所以应用程序通常必须容许一些丢失、错误或重复的数据包。

Socket编程
套接字使用TCP提供了两台计算机之间的通信机制。客户端程序创建一个套接字,并尝试连接服务器的套接字。
当连接建立时,服务器会创建一个Socket对象。客户端和服务器现在可以通过对Socket对象的写入和读取来进行通信。
java.net.Socket类代表一个套接字,并且java.net.ServerSocket类为服务器程序提供了一种来监听客户端,并与他们建立连接的机制。以下步骤在两台计算机之间使用套接字建立TCP连接时会出现:
服务器实例化一个ServerSocket对象,表示通过服务器上的端口通信。
服务器调用ServerSocket类的 accept()方法,该方法将一直等待,直到客户端连接到服务器上给定的端口。
服务器正在等待时,一个客户端实例化一个 Socket对象,指定服务器名称和端口号来请求连接。
Socket类的构造函数试图将客户端连接到指定的服务器和端口号。如果通信被建立,则在客户端创建一个Socket对象能够与服务器进行通信。
·在服务器端,accept()方法返回服务器上一个新的socket引用,该socket 连接到客户端的socket,
连接建立后,通过使用O流在进行通信,每一个socket都有一个输出流和一个输入流,客户端的输出流连接到服务器端的输入流,而客户端的输入流连接到服务器端的输出流。
TCP是一个双向的通信协议,因此数据可以通过两个数据流在同一时间发送.

最新文章

  1. StackOverFlow排错翻译 - Python字符串替换: How do I replace everything between two strings without replacing the strings?
  2. [转]mysql在windows下支持表名大小写,lower_case_table_names
  3. XE7 Update 1 选 iOS 8.1 SDK 发布 iPhone 3GS 实机测试
  4. word中那些重要但是被人忽略的快捷键和长word文档的跳转
  5. winrt组件库(包括翻书组件)
  6. Android常用布局
  7. 测试C#代码执行时间
  8. NODE编程(二)--异步编程技术
  9. 写 一个PHP脚本遇到的问题总结
  10. 从无到有开发连麦直播技术<转>
  11. (转)java 23种设计模式
  12. [译]Stairway to Integration Services Level 9 - Control Flow Task Errors
  13. Code-Based Configuration (EF6 onwards)
  14. Eclipse快速补全行末分号
  15. Mahout系列之-----相似度
  16. Lintcode399 Nuts & Bolts Problem solution 题解
  17. Multiple markers at this line - Missing semicolon时的解决方法
  18. pytest 学习笔记二:兼容unittest、执行方式、生成报告
  19. win10 docker 安装部署
  20. HDU 1814 模板题 2-sat

热门文章

  1. TT模板的作用及使用
  2. 基于live555开发嵌入式linux系统的rtsp直播服务
  3. 反转单词顺序列 牛客网 剑指Offer
  4. 跟着老猫来搞GO,集跬步而致千里
  5. svn与git区别
  6. Mysql教程:(二)分组与函数查询group by
  7. vm workstation pro 安装centos7
  8. Java踩坑之List的removeAll方法
  9. Java学习(二十二)
  10. 持续集成、持续交付(CI/CD)开篇,先来唠唠嗑