网络编程的基本模型就是客户机到服务器模型,简单的说就是两个进程之间相互通讯,然后其中一个必须提供一个固定的位置,而另一个则只需要知道这个固定的位置。并去建立两者之间的联系,然后完成数据的通讯就可以了,这里提供固定位置的通常称为服务器,而建立联系的通常叫做客户端,基于这个简单的模型,就可以进入网络编程啦。
Java对这个模型的支持有很多种Api,而这里我只想介绍有关Socket的编程接口,对于Java而言已经简化了Socket的编程接口。首先我们来讨论有关提供固定位置的服务方是如何建立的。Java提供了ServerSocket来对其进行支持事实上当你创建该类的一个实力对象并提供一个端口资源你就建立了一个固定位置可以让其他计算机来访问你,ServerSocket server=new ServerSocket(6789);这里稍微要注意的是端口的分配必须是唯一的。因为端口是为了唯一标识每台计算机唯一服务的,另外端口号是从0~65535之间的,前1024个端口已经被Tcp/Ip 作为保留端口,因此你所分配的端口只能是1024个之后的。好了,我们有了固定位置现在所需要的就是一根连接线了该连接线由客户方首先提出要求。因此Java同样提供了一个Socket对象来对其进行支持,只要客户方创建一个Socket的实例对象进行支持就可以了。Socket client
=new Socket(InetAddressgetLocalHost(),5678);客户机必须知道有关服务器的IP地址,对于着一点Java也提供了一个相关的类InetAddress 该对象的实例必须通过它的静态方法来提供,它的静态方法主要提供了得到本机IP 和通过名字或IP直接得到InetAddress的方法。
上面的方法基本可以建立一条连线让两台计算机相互交流了,可是数据是如何传输的呢?事实上I/O *** 作总是和网络编程息息相关的。因为底层的网络是继续数据的,除非远程调用,处理问题的核心在执行上,否则数据的交互还是依赖于IO *** 作的,所以你也必须导入javaio这个包java的IO *** 作也不复杂,它提供了针对于字节流和Unicode的读者和写者,然后也提供了一个缓冲用于数据的读写。
在百度搜索里输入java socket会有N多的结果给你答案。61 条面向对象设计的经验原则
ANT 基本概念、安装与配置
AWT 和 SWING 的强大竞争者 - SWT 简介
Axis + Tomcat 模拟银行存取款服务
用 Java 编写简单 UDP 网络通信程序
用 JBuilder9 开发 Struts 的实例
用 JFace 和 SWT 构建一个简单的应用程序
用 Jsp 动态输出 excel 文档和乱码问题的解决
用 JSP/Servlet 构建三层式管理信息系统
用 SyncML 进行异构数据库复制
用缓冲技术提高 JSP 应用的性能和稳定性
用连接池提高 Servlet 访问数据库的效率
程序开发中 Debug 和 Release 之本质区别
简单教您如何使用 Factory Method 模式
简易使用 Apache Web 让你的 JSP "动"起来
Enhydra 入门 - 一个有用的中间件 - Enhydra
通过 Java Swing 看透 MVC 设计模式
通过 JDBC 连接 Oracle 数据库的十大技巧
配置 Web 应用环境实现 JSP 留言簿开发
讲解如何在 C/C++ 中调用 Java 的方法
讲述在 Java 中 Decorate 的三种实现方法
详细解析 JavaBeans 与 Ejb 的区别
详细讲解怎样在 Java 中运行其它应用程序
详细讲述 JSP、PHP 与 Java 融合的开发环境
详细为您解析 JSP 的环境引擎 - Websphere
详细介绍用 JBuilder9 开发的 Struts 实例
详解 EJB 30 是如何简化应用程序的开发
详解如何利用 iText 在 JSP 中生成 PDF 报表
详解怎样使用 Axis 开发 Web Service 的实例
Jar 文件包间接及 Jar 命令开发实例详解
Java 的秘密 - 将应用程序的设定存在哪里
Java 程序的反编译 - 再次掀起编译热潮
Java 编程中更新 XML 文档的常用方法集
Java 语言入门级的十二大特色详细介绍
Java 入门基本语法
Java 入门所需的关键特性与 30 个基本概念
Java 关于中文乱码问题的解决方案与经验
Java 列表对象的性能分析和测试应用解析
Java 初学者常用开发工具介绍图解
Java 基础之"接口"与"包"
Java 对象转为 String 的几种常用方法剖析
Java 开发中的线程安全选择与 Swing
Java 开发为什么需要 UML?
Java 性能优化技巧集锦
Java 服务器端编程安全的必读本
Java 中 Static、this、super、final 用法
Java 中的强大武器 - 对象的序列化
JavaBeans 程序开发从入门到精通教程
Javamail *** 作指南 - 实例代码解析
Jboss 的 JDBC 数据源配置步骤详解大全
JNI 使用技巧点滴
JSP 与 ASP 的比较
JudoScript - 让 Java 离你更近一些
Spring WebFlow - 重用与抽象框架解析 (1)
Spring WebFlow - 重用与抽象框架解析 (2)
StarSuite 60 和 SDK 安装以及配置指南 (1)
StarSuite 60 和 SDK 安装以及配置指南 (2)
StringgetBytes() 方法中的中文编码问题
Swing 第三方工具的设计
Tomcat50 + MySql 配置 JDBC,DBCP,SSL
Web Services 在 Tomcat404 的安装和测试
初学者入门 JAVA 的 XML 编程实例解析
初学者如何快速入门 JSP 实例分析
在 Java 应用开发中如何使用线程
在 Servlet 中如何捕获 Session 事件
大话面向对象的前世与今生
如何进行 J2SDK 和 TOMCAT 的安装及配置
如何在Web应用中启动后台任务的实例讲解
如何为 Java 应用程序添加退出事件的处理
如何使用 Java 程序实现 Logo 画面的编程
实例讲解如何穿越防火墙访问 EJBs
开发中利用批处理 JDBC 语句提高处理速度
怎样用 Java 实现 MSN Messager 的功能
怎样用 jConfig 获取 XML 文件中的配置信息
怎样真正的在 Struts 框架下使用时间类型
怎样在 Java 实例开发的过程中使用进度条
怎样为 SWT 应用程序配备内容助理功能
怎样使用 Java Servlet 动态生成详解
手把手教您如何编写一个动画 Applet 实例
揭开 Java Socket 编程中的一个秘密类
教您用 Java 做一个最简单的 Socket 通话程序
教您纯 Jsp 的自定义的单个文件上载代码
教您在 Java 开发过程中如何应对异常处理
教您如何提高 Java 代码性能的应用解析
教您将 Java 编译为 EXE 的几种简易方法
教您快速上手使用 JDOM 处理 XML 文档的技巧
教您怎样在 Web 应用中动态创建 PDF 文件
教您一个压缩归档的实用软件
教你如何快速成为一名 Java 初级程序员
浅谈实际开发中数据源在 JDBC 中的应用
浅析 Java 中常见的 Date 类的应用技巧
浅析 JavaBean 与 EJB 的区别与应用分析
测试对 Java 开发的重要性
深入解析 Java 的新特性 assertion
专家解答 Java 常见问题集锦 25 问
从 C++ 到 Java - 理解面向对象的关键所在
使用 Java 把文件/目录压缩成 ZIP 包最新技巧
澄清 Java 的接口与继承机制
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)