易截截图软件、单文件、免安装、纯绿色、仅160KB

3步学会Java Socket编程

三步学会Java Socket编程(1)
http://developer.51cto.com  2009-02-04 09:45  佚名  Java8  我要评论(0)
? 摘要:所谓socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄。应用程序通常通过"套接字"向网络发出请求或者应答网络请求。本文将Java Socket编程分为三个学习步骤,逐一为您讲解。
? 标签:Java Socket  Socket API  Java编程
?
Oracle帮您准确洞察各个物流环节
第一步 充分理解Socket
1.什么是socket
所谓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,它必须被捕获,因为它们返回的流对象,通常都会被另一个流对象使用。
2.如何开发一个Server-Client模型的程序
开发原理:
服务器,使用ServerSocket监听指定的端口,端口可以随意指定(由于1024以下的端口通常属于保留端口,在一些操作系统中不可以随意使用,所以建议使用大于1024的端口),等待客户连接请求,客户连接后,会话产生;在完成会话后,关闭连接。
客户端,使用Socket对网络上某一个服务器的某一个端口发出连接请求,一旦连接成功,打开会话;会话完成后,关闭Socket。客户端不需要指定打开的端口,


相关文档:

java对象的大小与引用类型

本文来自和你在一起的博客,原文标题:《JVM调优总结(二)-一些概念》。本文总结了JVM概念中的Java对象的大小,以及三种引用类型的定义与区分。 基本数据的类型的大小是固定的,这里就不多说了。对于非基本类型的Java对象,其大小就值得商榷。 在Java中,一个空Object对象的大小是8byte,这个大小只是保存堆中一个没有任 ......

JAVA基础篇(一)

      本篇内容系统JAVA基础知识介绍,适用于初学者和复习的朋友阅读。作为本人,虽尽量查阅各种书籍,但是仍难避免各种错误和不当,还请看过并发现其中错误的朋友指正。
    一.简介
          1.Green Team小组与JAVA
&nb ......

关于Java中BorderLayout布局的一个纠结问题,求教

这个问题在于  在Frame中添加组件时,每个组件先设定了位置,但是添加到Frame中后始终会出现问题。
例如:
class MyGame extends Frame

 
 MyGame()
 {
  Label c[] = new Label[8];
  for(i = 0; i<8; i++)
  {
   c[i] = new Lab ......

在java中用数据库连接池连接数据库

好多大型的企业项目都要用到高级JDBC连接数据库配置高级JDBC实例如下:
第一:配置Tomcat下的conf文件夹下的context.xml文件
<?xml version='1.0' encoding='utf-8'?>
<Context>
 <Resource name="jdbc/名称" auth="Container" type="javax.sql.DataSource"
  maxActive="10" maxIdle=" ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号