当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:15:00  来源:本站整理

<b>三步学会Java Socket编程</b>[Java编程]

赞助商链接



  本文“<b>三步学会Java Socket编程</b>[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

第一步 充分理解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以上的端口.

{成立服务器}

import java.net.*;
import java.io.*;
public class Server
{
private ServerSocket ss;
private Socket socket;
private BufferedReader in;
private PrintWriter out;
public Server()
{
try
{
ss = new ServerSocket(10000);
while (true)
{
socket = ss.accept();
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
out = new PrintWriter(socket.getOutputStream(),true);
String line = in.readLine();
out.println("you input is :" + line);
out.close();
in.close();
socket.close();
}
ss.close();
}
catch (IOException e)
{}
}
public static void main(String[] args)
{
new Server();
}
}


  以上是“<b>三步学会Java Socket编程</b>[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • <b>hosts是什么 hosts文件在什么位置 若何改正hosts</b>
  • <b>在 Windows 8 中手动安装语言包</b>
  • <b>五个常见 PHP数据库问题</b>
  • Windows中Alt键的12个高效快速的利用本领介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • <b>详解MySQL存储历程参数有三种范例(in、out、inout)</b>
  • <b>Win8系统恢复出来经典的开始菜单的办法</b>
  • <b>Win8系统花屏怎么办 Win8系统花屏的办理办法</b>
  • <b>Windows 7系统下无线网卡安装</b>
  • <b>为什么 Linux不需求碎片整理</b>
  • <b>Windows 8中删除账户的几种办法(图)</b>
  • <b>教你如安在win7下配置路由器</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .