Java socket通信在Java语言中是一个使用很广泛的工具,下面我们就来仔细的学习下有关的方法。这对大家在以后的使用中有所帮助,只有不断的学习才能更好的使用。

所谓Java socket通信通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄。应用程序通常通过"套接字"向网络发出请求或者应答网络请求。

以J2SDK-1.3为例,Socket和ServerSocket类库位于java.net包中。ServerSocket用于服务器端, Socket是建立网络连接时使用的。在连接成功时,应用程序两端都会产生一个Socket实例,操作这个实例,完成所需的会话。对于一个网络连接来说, 套接字是平等的,并没有差别,不因为在服务器端或在客户端而产生不同级别。不管是Socket还是ServerSocket它们的工作都是通过 SocketImpl类及其子类完成的。

重要的Socket API:

java.net.Socket继承于java.lang.Object,有八个构造器,其方法并不多,下面介绍使用最频繁的三个方法,其它方法大家可以见JDK-1.3文档。Accept方法用于产生"阻塞",直到接受到一个连接,并且返回一个客户端的Socket对象实例。"阻塞"是一个术语,它使程序运行暂时"停留"在这个地方,直到一个会话产生,然后程序继续;通常"阻塞"是由循环产生的。

getInputStream方法获得网络连接输入,同时返回一个IutputStream对象实例。

getOutputStream方法连接的另一端将得到输入,同时返回一个OutputStream对象实例。

注意:其中getInputStream和getOutputStream方法均会产生一个IOException,它必须被捕获,因为它们返回的流对象,通常都会被另一个流对象使用。

如何开发一个Server-Client模型的程序

Java socket通信开发原理:

服务器,使用ServerSocket监听指定的端口,端口可以随意指定(由于1024以下的端口通常属于保留端口,在一些操作系统中不可以随意使用,所以建议使用大于1024的端口),等待客户连接请求,客户连接后,会话产生;在完成会话后,关闭连接。

客户端,使用Java socket通信对网络上某一个服务器的某一个端口发出连接请求,一旦连接成功,打开会话;会话完成后,关闭Socket。客户端不需要指定打开的端口,通常临时的、动态的分配一个1024以上的端口。

【责任编辑:张浩 TEL:(010)68476606】

点赞 0

java socket 连接原理_Java socket通信基本原理介绍相关推荐

  1. Java 网络通信必备之socket通信基本原理介绍

    Java socket通信基本原理介绍 Java socket通信在不断的进行相关代码的开发,下面我们就看看如何才能更好的使用有关技术为我们的编程工作带来一定的帮助. 作者:佚名来源:互联网|2010 ...

  2. 串口通信基本原理介绍

    串口通信基本原理介绍 一. 什么是串口通信? 串行通信是指仅用一根接收线和一根发送线就能将数据以位进行传输的一种通讯方式.尽管串行通信的速度比按字节传输的并行通信慢,但是串口可以在仅仅使用两根线的情况 ...

  3. java socket 对方关闭_java Socket判断对方是否已关闭连接

    如何判断远端socket是否已经断开连接,如果断开那么需要重新连接. 1通过socket类的方法isClosed().isConnected().isInputStreamShutdown().isO ...

  4. java socket远空_JAVA Socket超时浅析

    套接字或插座(socket)是一种软件形式的抽象,用于表达两台机器间一个连接的"终端".针对一个特定的连接,每台机器上都有一个"套接字",可以想象它们之间有一条 ...

  5. java socket编程客户端_Java Socket编程 - 基于Socket实现HTTP下载客户端

    没有借助任何第三方库,完全基于JAVA Socket实现一个最小化的HTTP文件下载客 户端.完整的演示如何通过Socket实现下载文件的HTTP请求(request header)发送 如何从Soc ...

  6. java socket 循环读取_java socket tcp(服务器循环检测)

    刚才看了下以前写了的代码,tcp通信,发现太简单了,直接又摘抄了一个,运行 博客:http://blog.csdn.net/zhy_cheng/article/details/7819659 优点是服 ...

  7. java socket编程心跳_Java Socket编程心跳包创建实例解析

    1.什么是心跳包? 心跳包就是在客户端和服务器间定时通知对方自己状态的一个自己定义的命令字,按照一定的时间间隔发送,类似于心跳,所以叫做心跳包. 用来判断对方(设备,进程或其它网元)是否正常运行,采用 ...

  8. java mysql 心跳包_java socket及java心跳

    java socket 心跳 在JAVA socket 异步操作中经常会用到心跳机制去检查服务器端是否在线,其实这个很容易实现,就是开启一个新的线程,在run方法里去给服务器端发心跳包,但是这一步是可 ...

  9. java socket负载均衡_Java Socket分发服务负载均衡

    1 1. 设备请求分发服务器,分发服务器返回有效的socket服务器ip与port,然后断开连接.2 a) 设备与服务器建立连接.3 b) 服务器接收到连接请求后,立即将分配好的socket服务器ip ...

  10. java socket 线程池_java socket编程的一个例子(线程池)

    服务器程序EchoServer.java: import java.io.*; import java.net.*; import java.util.concurrent.*; public cla ...

最新文章

  1. swift_020(Swift 的属性)
  2. 无序和有序列表的list-style-type 属性值
  3. OpenCASCADE绘制测试线束:几何命令之曲面创建
  4. SAP Odata filter的语法
  5. python启动jupyter,在Jupyter上启动python脚本作为后台作业
  6. ZOJ2930 The Worst Schedule(最小割)
  7. 作业-python常用库类 numpy+pandas
  8. linux管道通信题目,操作系统实训(Linux)——习题解答、例题解析、实验指导-王红-实验实验7软中断及管道通信课案.ppt...
  9. android stadio 编译报错:download fastutil-7.2.0.jar
  10. disable_irq/enable_irq使用不匹配
  11. python 遍历_python dict 两种遍历方式的比较
  12. SCI 投稿Cover letter模板大全
  13. [转]中国青岛发布新一代CPU桥片“星光青桥一号”
  14. A股的日内交易如何进行?
  15. 假如明天失业了,我该去哪里
  16. 支付宝直付通实现账单结算(分账)功能完整Demo
  17. windows server 2016桌面添加 此电脑 我的电脑 计算机 图标
  18. PCM设备的E1接头
  19. 图片到eps的批量转换BAT脚本
  20. 【开发环境】(基于Hexo)个人博客主题(Hexo Fluid)更换

热门文章

  1. spring Quartz基于配置文件和注解的实现
  2. Windows API一日一练(60)CreateIoCompletionPort和GetQueuedCompletionStatus函数
  3. cookie里面用到的关键字_Java的理解角度-关键字篇
  4. python数据分析推荐课程_coursera上有哪些值得学习的Python,数据分析的课程
  5. sqlhelp(sqlite)
  6. DropDownList的项按字母顺序排列
  7. Lively Wallpaper:please enter openweathermap.orgapi/city information correctly
  8. php 查看使用多少内存
  9. 软件基本功:linux/windows的头文件互相包含,大哥你这是什么创新?
  10. LINUX下载编译ffmpeg(doubango)