服务器调用ServerSocket类的accept()方法,该方法将一直等待,直到客户端连接到服务器上的给定端口。今天小编主要给大家分享java网络socket编程详解,希望对你们有帮助!
Java网络编程
网络编程是指编写运行多个设备(计算机)的程序,这些设备都通过网络连接起来。
java.net包中的J2SE的 API包含类和接口,它们提供低层次通信细节。可以直接使用这些类和接口来专注于解决问题,而无需关注通信细节。
java.net软件包支持两种常见的网络协议:
TCP:TCP是传输控制协议的缩写,它保障了两个应用程序之间的可靠通信。通常用于互联网协议,称为TCP/IP。
UDP:UDP是用户数据报协议(一种无连接协议)的缩写,提供了在应用程序之间要发送的数据的数据包。
Socket编程
套接字使用TCP在两台计算机之间提供通信机制,客户端程序创建一个套接字,并尝试连接到服务器的套接字。
建立连接后,服务器会创建一个Socket对象。客户端和服务器现在可以通过对 Socket对象写入和读取进行通信。
java.net.Socket类代表一个套接字,并且java.net.ServerSocket类为服务器程序提供了一种监听客户端并与其建立连接的机制。
当使用套接字在两台计算机之间建立TCP连接时,会用到以下步骤:
服务器实例化一个ServerSocket对象,该对象表示通过服务器上的端口进行的通信。
服务器调用ServerSocket类的accept()方法,该方法将一直等待,直到客户端连接到服务器上的给定端口。
当服务器等待时,客户端实例化套接字对象,指定服务器名称和端口号来请求连接。
Socket类的构造函数试图将客户端连接到指定的服务器和端口号,如果建立了通信,在客户端创建Socket对象可以与服务器通信。
在服务器端,accept()方法返回服务器上一个新的 socket 引用,该 socket 连接到客户端的 socket。
连接建立后,使用 I/O 流进行通信,每个socket都有一个输出流和一个输入流。客户端的输出流连接到服务器的输入流,而客户端的输入流连接到服务器的输出流。
TCP是一种双向通信协议,因此数据可以同时通过两个数据流发送。下面是一些类为实现socket提供的一整套有用的方法。
ServerSocket类的方法
服务器应用程序使用java.net.ServerSocket类获取端口,并侦听客户端请求。
ServerSocket类有四种构造方法:
1、public ServerSocket(int port) throws IOException。
创建绑定到特定端口的服务器套接字。
2、public ServerSocket(int port, int backlog) throws IOException。
利用指定的backlog创建服务器套接字,并将其绑定到指定的本地端口号。
3、public ServerSocket(int port, int backlog, InetAddress address) throws IOException
使用指定的端口、侦听 backlog和要绑定到的本地IP地址创建服务器。
4、public ServerSocket() throws IOException
创建非绑定的服务器套接字。
创建非绑定的服务器套接字,如果ServerSocket构造方法没有引发异常,这意味着你的应用程序已成功绑定到指定端口,并且正在侦听客户端请求。
fangfa/631624
每日/每周/每月课后测试
每日课后项目经理知识点梳理每周阶段性项目考核;每月模块结构全国技术同考;成绩不合格0元重修,确保达到企业需求标准。
全实战讲师授课+实操
达内始终贯彻-组合,一线实力-领衔进行授课;实战知识剖析讲解,手把手教学打造职场竞争力。
保险公司承保就业
达内开设四轮模拟面试指导,让学员不仅学会专业知识,更要学会表达自己;毕业未能找到工作的学员,可申请理赔机制,较多可赔偿18000元。
TTS8.0系统双模式教学
iQuestion在线问答;iNotes在线电子笔记;iBoard在线视频回放;iDiscuss在线交流;iBook在线演示;iTesting在线测试。
中国IT职业教育领军企业 达内时代科技集团有限公司(简称达内教育),美股交易代码:TEDU,成立于2002年。 2014年4月3日成功在美国上市,融资1亿3千万美元。成为中国赴美国上市的职业教育公司,也是引领行业的职业教育公司。 达内致力于面向IT互联网行业,培养软件开发工程师、测试工程师、系统管理员、智能硬件工程师、UI设计师、网络营销工程师、会计等职场人才。2015年起,推出面向青少年的少儿编程、智能机器人编程、编程数学等K12课程。 达内的使命:缔造年轻人的中国梦、缔造达内员工的中国梦 达内的愿景:做管理-的教育公司 开设课程 达内时代科技集团成人类课程方向:Java企业级应用软件工程师、Java互联网架构软件工程师、Java大数据工程师、Web前端开发工程师、网络运维与网络安全、Linux云计算工程师、Python 人工智能软件工程师、-嵌入式软件工程师、C++-软件工程师、PHP/web.3.0互联网工程师、-软件测试工程师、Android软件工程师、IOS软件工程师、.NET软件工程师、全链路UI设计师、商业插画、商业视觉设计课程、产品级UED交互设计师、全栈式CAD设计师、产品经理、VR开发工程师、VR次世代模型师、-网络营销师、新电商运营官、企业级影视视效、人力资源经理人课程、总账会计课程

江苏省