用JAVA打造自己的QQ(一)

本文介绍了使用JAVA进行网络编程的基础知识,特别是套接字(Socket)的概念,以及如何利用Java的网络API建立可靠的连接。文章通过示例解释了如何创建流套接字(Stream Socket)并涉及InetAddress类的使用,帮助读者理解如何建立网络通讯连接,为打造自己的QQ聊天程序奠定基础。
摘要由CSDN通过智能技术生成

我曾用VB做了个局域网聊天的小程序,那时只是模仿一个源码抄写的,代码量也很少,一共也只不过两百行的代码,且只能两个人对聊,用的是VB中的一个WINSOCK控件,那时其实对WINSOCK网络编程一无所知,正好现在正在学网络编程,本想用C#来实现,但想想用C#再做个QQ类似的东西价值不大,加上我这段时间正想好好学习JAVA,于是趁热打铁,既熟悉了网络编程,又可以学习JAVA编程,一举两得,何乐而不为呢?

        首先,介绍一下关于网络编程的一些知识:

用Java开发网络软件非常方便和强大,Java的这种力量来源于他独有的一套强大的用于网络的 API,这些API是一系列的类和接口,均位于包java.net和javax.net中。在这篇文章中我们将介绍套接字(Socket)慨念,同时以实例说明如何使用Network API操纵套接字,在完成本文后,你就可以编写网络低端通讯软件。

  什么是套接字(Socket)?

  Network API是典型的用于基于TCP/IP网络Java程序与其他程序通讯,Network API依靠Socket进行通讯。Socket可以看成在两个程序进行通讯连接中的一个端点,一个程序将一段信息写入Socket中,该Socket将这段信息发送给另外一个Socket中,使这段信息能传送到其他程序中。如图1


  我们来分析一下图1,Host A上的程序A将一段信息写入Socket中,Socket的内容被Host A的网络管理软件访问,并将这段信息通过Host A的网络接口卡发送到Host B,Host B的网络接口卡接收到这段信息后,传送给Host B的网络管理软件,网络管理软件将这段信息保存在Host B的Socket中,然后程序B才能在Socket中阅读这段信息。

  假设在图1的网络中添加第三个主机Host C,那么Host A怎么知道信息被正确传送到Host B而不是被传送到Host C中了呢?基于TCP/IP网络中的每一个主机均被赋予了一个唯一的IP地址,IP地址是一个32位的无符号整

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值