<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编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |