频道栏目
首页 > 资讯 > Java > 正文

Java网络编程从入门到精通(13):使用Socket类接收和发送数据

11-02-28        来源:[db:作者]  
收藏   我要投稿
网络应用分为客户端和服务端两部分,而Socket类是负责处理客户端通信的Java类。通过这个类可以连接到指定IP或域名的服务器上,并且可以和服务器互相发送和接受数据。在本文及后面的数篇文章中将详细讨论Socket类的使用,内容包括Socket类基础、各式各样的连接方式、getset方法、连接过程中的超时以及关闭网络连接等。

在本文中,我们将讨论使用Socket类的基本步骤和方法。一般网络客户端程序在连接服务程序时要进行以下三步操作。

1.         连接服务器

2.         发送和接收数据

3.         关闭网络连接

一、连接服务器

在客户端可以通过两种方式来连接服务器,一种是通过IP的方式来连接服务器,而另外一种是通过域名方式来连接服务器。

其实这两种方式从本质上来看是一种方式。在底层客户端都是通过IP来连接服务器的,但这两种方式有一定的差异,如果通过IP方式来连接服务端程序,客户端只简单地根据IP进行连接,如果通过域名来连接服务器,客户端必须通过DNS将域名解析成IP,然后再根据这个IP来进行连接。

在很多程序设计语言或开发工具中(如C/C++Delphi)使用域名方式连接服务器时必须自己先将域名解析成IP,然后再通过IP进行连接,而在Java中已经将域名解析功能包含在了Socket类中,因此,我们只需象使用IP一样使用域名即可。

通过Socket类连接服务器程序最常用的方法就是通过Socket类的构造函数将IP或域名以及端口号作为参数传入Socket类中。Socket类的构造函数有很多重载形式,在这一节只讨论其中最常用的一种形式:public Socket(String host, int port)。从这个构造函数的定义来看,只需要将IP或域名以及端口号直接传入构造函数即可。下面的代码是一个连接服务端程序的例子程序:

package mysocket;

import java.net.*;

public class MyConnection
{
    
public static void main(String[] args)
    {
        
try
        {
            
if (args.length > 0)
            {
                Socket socket 
= new Socket(args[0], 80);
                System.out.println(args[
0+ "已连接成功!");
            }
            
else
                System.out.println(
"请指定IP或域名!");
        }
        
catch (Exception e)
        {
            System.err.println(
"错误信息:" + e.getMessage());
        }
    }
}

在上面的中,通过命令行参数将IP或域名传入程序,然后通过Socket socket

相关TAG标签
上一篇:Java网络编程从入门到精通(14):多种多样的建立网络连接的方式
下一篇:Java网络编程从入门到精通(12):使用isReachable方法探测主机是否可以连通
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站