教程集 www.jiaochengji.com
教程集 >  脚本编程  >  java  >  正文 Java套接字编程(上)(2)

Java套接字编程(上)(2)

发布时间:2019-01-31   编辑:jiaochengji.com
教程集为您提供Java套接字编程(上)(2)等资源,欢迎您收藏本站,我们将为您提供最新的Java套接字编程(上)(2)资源
Socket类
  当客户程序需要与服务器程序通讯的时候,客户程序在客户机创建一个socket对象,Socket类有几个构造函数。两个常用的构造函数是 Socket(InetAddress addr, int port) 和 Socket(String host, int port),两个构造函数都创建了一个基于Socket的连接服务器端流套接字的流套接字。对于第一个InetAddress子类对象通过addr参数获得服务器主机的IP地址,对于第二个函数host参数包被分配到InetAddress对象中,如果没有IP地址与host参数相一致,那么将抛出UnknownHostException异常对象。两个函数都通过参数port获得服务器的端口号。假设已经建立连接了,网络API将在客户端基于Socket的流套接字中捆绑客户程序的IP地址和任意一个端口号,否则两个函数都会抛出一个IOException对象。
  如果创建了一个Socket对象,那么它可能通过调用Socket的 getInputStream()方法从服务程序获得输入流读传送来的信息,也可能通过调用Socket的 getOutputStream()方法获得输出流来发送消息。在读写活动完成之后,客户程序调用close()方法关闭流和流套接字,下面的代码创建了一个服务程序主机地址为198.163.227.6,端口号为13的Socket对象,然后从这个新创建的Socket对象中读取输入流,然后再关闭流和Socket对象。
Socket s = new Socket ("198.163.227.6", 13);
InputStream is = s.getInputStream ();
// Read from the stream.
is.close ();
s.close ();
  接下面我们将示范一个流套接字的客户程序,这个程序将创建一个Socket对象,Socket将访问运行在指定主机端口10000上的服务程序,如果访问成功客户程序将给服务程序发送一系列命令并打印服务程序的响应。List2使我们创建的程序SSClient的源代码:
  Listing 2: SSClient.java
// SSClient.java
import java.io.*;
import java.net.*;
class SSClient
{
 public static void main (String [] args)
 {
  String host = "localhost";
  // If user specifies a command-line argument, that argument
  // represents the host name.
  if (args.length == 1)
   host = args [0];
  BufferedReader br = null;
  PrintWriter pw = null;
  Socket s = null;
  try
  {
   // Create a socket that attempts to connect to the server

您可能感兴趣的文章:
Java套接字编程(上)(1)
Java套接字编程(下)(1)
PHP套接字编程
Java的网络功能与编程 一
真正的Java学习从入门到精通
Java学习路径(一)工具篇
Java套接字编程(上)(2)
学习J2SE过程中的30个基本概念
php怎么传给java
一个 Java,各自表述

[关闭]
~ ~