基于TCP/IP协议的Socket编程

本文介绍了基于TCP/IP协议的Socket编程,讲解了套接字的概念,如何使用Java实现服务器端和客户端的Socket通信,包括ServerSocket和Socket类的使用方法,以及数据的读写流程。
摘要由CSDN通过智能技术生成

一、 前言

最近想用Java写出一个能够进行远程通信的程序,不可避免地接触到了Socket编程,在这里我不详细介绍TCP/IP协议,有还没有接触过TCP/IP的同学请自行谷歌或者百度。因为数据在Internet中的传输是非常繁重的,而套接字(Socket)的出现,让我们不必去关心传输的繁重过程,我们只需把网络看做一个流,就像对文件一样进行操作。

二、套接字(socket)的概念

当两个主机的程序之间要通过网络进行套接字通信的时候,我们可以将这过程抽象成下面这张简图。
这里写图片描述
当两台主机的程序要通过网络进行通信的时候,不可避免的两台主机要都知道对方的“位置”,才能把信息传给对方,网络中用IP地址标识主机的地址,当信息能准确地在两台主机之间传输的时候,还要把信息传到对应的程序里面去才行,举个例子如果我在电脑上用QQ给你发信息,你却在电脑的微信上接受到了信息,那么就乱套了。网络中用端口号标识程序。

一个套接字都有自己的IP地址端口号,两两套接字直接通过IP地址端口号对应,这就保证了信息在两台主机的程序之间的准确传输。
在这种模式下主机A的程序将一段信息写进Socket1中,Socket1将信息发送给Socket2,Socket2将信息写入主机B的程序b中。

在利用套接字进行通信的时候,都是服务器和客户机之间进行通信。基于TCP/IP协议的Socket编程,两个套接字建立的链接都是可靠地,可靠的意思是说当数据在网络传输过程中出错时,数据会由发送方重新发送。
这里写图片描述
图二

如图二所示:利用套接字编程主要步骤如下
1、分别为服务器,客户机创建套接字,将两个套接字连接起来。
2、打开套接字的输入输出流。输入流用来接收对方套接字的数据,输出流用来向对方套接字输出数据。 <

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值