- 浏览: 34086 次
- 性别:
- 来自: 湖南
文章分类
最新评论
第一步 充分理解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。客户端不需要指定打开的端口,通常临时的、动态的分配一个1024以上的端口。
{建立服务器}
发表评论
-
HttpClient容易忽视的细节——连接关闭
2012-03-02 09:15 621HttpClient client = new HttpCli ... -
HTTPClient的多线程编程
2012-03-02 09:09 1486Axis2的连接主要采用了HttpClient进行与服务器的服 ... -
HttpClient超时区别
2012-03-02 09:07 1075HttpClient 4 设置超时 httpclient 超时 ... -
HttpClient Theading
2012-03-01 10:49 677有技术兴趣的 请加28830308群. 这篇文章概括了怎样在 ... -
HttpClient使用
2012-03-01 10:43 727有技术兴趣的 请加28830308群. HttpClien ... -
线程请求执行,一个多线程程执行HTTP请求的例子。
2012-03-01 10:40 1764package cn.lake.util; import ... -
httpclient 4 下载 文件
2012-03-01 10:38 957import java.io.File; import ja ... -
使用了httpclient实现的上传商品的demo
2012-03-01 10:36 1159package com.taobao.top.sample.u ... -
转载socket
2012-02-07 10:57 576对TCP/IP、UDP、Socket编程这些词你不会很陌生吧? ... -
Java的synchronized关键字:同步机制总结
2012-02-07 10:54 577不久前用到了同步,现在回过头来对JAVA中的同步做个总结,以对 ... -
JAVA RMI
2012-02-07 10:53 577Java RMI 指的是远程方法调用 (Remote Meth ... -
JXL生成复杂的EXCEL
2011-12-26 13:52 1385public String ExcelTaskRepo ... -
如何快速的为现有数据库建立数据字典?
2011-12-20 13:55 998大部分项目在验收时都需要向客户提供一份详细的数据字典,而编写数 ... -
在java中获取客户端真实的IP地址
2011-12-20 13:55 555public static String getRemoteA ... -
用JavaMail的API发送邮件
2011-12-20 13:55 5331、MimeMessage的包装类 public c ... -
在项目中整合FreeMarker框架
2011-12-16 15:40 583FreeMarker是一个用Java编写的模板引擎,既可以 ... -
Commons FTP范例
2011-12-16 15:33 505public class FtpUtil { privat ... -
Java实现的图片生成器
2011-12-16 15:32 522一、本图片生成器具有以下功能特性: 1、可以设置图 ... -
jacob学习总结
2011-12-16 15:27 447JACOB 就是 JAVA-COM Bridge的缩写,提供自 ... -
长短信发送范例
2011-12-16 15:25 692一、关键代码: private synchronized v ...
相关推荐
[Perl文]IO::Socket简介 ''''''''''''''''''' new()方法: SOCKET对象变量=IO::Socket::INET->new(SOCKET变量值); 实例: $sock=IO::Socket::INET->new('192.168.1.2:23'); 讲解: 所有的PERL对象编程都把对象...
Socket简介 简介 套接字(socket)是一个抽象层,应用程序可以通过它发送或接收数据,可对其进行像对文件一样的打开、读写和关闭等操作。套接字允许应用程序将I/O插入到网络中,并与网络中的其他应用程序进行通信。...
### Web Socket简介及应用 #### 一、WebSocket概述 WebSocket是一种新型的通信协议,它作为HTML5中的一个重要组成部分,为Web开发带来了革命性的变化。在介绍WebSocket之前,我们需要回顾一下Web开发的历史,尤其...
- 建立 Socket 连接涉及服务器监听、客户端请求和连接确认三个步骤,与 TCP 连接类似,但更底层,可自定义协议和处理方式。 4. **Socket 连接与 TCP 连接的对比**: - HTTP 是基于 Socket 实现的应用层协议,提供...
socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,都可以用“打开open –> 读写write/read –> 关闭close”模式来操作。我的理解就是Socket就是该模式的一个实现,socket即是一种特殊的文件,一些...
SuperSocket简介** SuperSocket设计的目标是让开发者能够快速搭建网络应用,它支持自定义协议,可以轻松地处理各种业务逻辑。框架的核心组件包括SocketServer和SocketAppServer,前者用于处理基础的Socket通信,后...
一、HP-Socket简介 HP-Socket是一个C++编写的网络通信库,它提供了丰富的API接口,支持TCP、UDP等多种网络协议。该框架不仅具备多线程处理能力,还支持异步事件驱动模型,以实现高效的网络通信。其易源代码的特点...
一、Socket简介 Socket是网络通信的基础接口,它允许应用程序通过Internet进行通信。在C#中,System.Net.Sockets命名空间提供了Socket类,用于实现TCP和UDP协议。TCP(传输控制协议)提供面向连接的、可靠的数据传输...
#### 一、Socket简介 **Socket** 是一种网络通信方式,它允许两台计算机之间进行数据交换。在互联网世界里,Socket 的历史远远早于 Java 语言的诞生,但 Java 使得 Socket 的使用变得更加简单高效。本章节将详细...
1. **Lua Socket简介** Lua Socket是一个由Diego Nehab开发的开源库,其目标是为Lua提供一个易于使用的网络编程接口。它基于Lua的简洁语法,使得开发者可以快速地创建网络应用程序,如Web服务器、客户端、代理等。 ...
#### Socket简介 Socket是应用层与传输层之间的一个抽象层,用于实现网络应用程序之间的通信。它可以理解为两个应用程序之间的一个端到端的连接。在TCP/IP协议族中,Socket通常被用来实现客户端与服务器之间的通信...
2. **Socket简介**: Socket是操作系统提供的接口,它允许应用程序实现进程间的网络通信。Socket可以基于TCP(面向连接,可靠传输)或者UDP(无连接,尽力而为传输)。 **二、WPF中集成Socket** 在WPF项目中,我们...
**一、Socket简介** Socket,又称套接字,是网络通信的基本单元,它提供了进程间的通信能力,允许不同机器上的程序通过网络进行交互。Socket分为两种类型:流式套接字(Stream Sockets, TCP)和数据报套接字...
SuperSocket简介 SuperSocket旨在简化套接字服务器的开发流程,提供了一种面向对象的模型,允许开发者专注于业务逻辑,而不是底层的网络通信细节。它支持自定义协议,可以轻松处理多种网络协议,如HTTP、FTP、TCP...
一、SuperSocket简介 SuperSocket设计初衷是为了简化基于TCP/IP协议的网络通信开发,它提供了一套完整的解决方案,包括服务端和客户端的实现,使得开发者可以专注于业务逻辑,而无需关心底层通信细节。SuperSocket...
**Socket简介** Socket,又称套接字,是网络编程的基本接口,它为应用程序提供了网络通信的能力。Socket允许两个或多个设备通过TCP/IP协议进行数据传输。在iOS开发中,我们通常使用C语言风格的低级API(如CFStream)...
1. **Socket简介** - Socket起源于UNIX系统的4BSD版本,用于进程间的通信。在网络环境中,Socket成为了TCP/IP协议族的一部分,为开发网络应用程序提供了便利。 - Socket是一个通信端点,它包含了IP地址和端口号,...
1. **SuperSocket简介**:文档首先会介绍SuperSocket的基本概念,包括其设计理念、核心功能和优点,例如它的轻量级特性、强大的插件机制以及对多线程和异步操作的支持。 2. **安装与配置**:详细步骤指导如何在C#...