socket通信需要网线连接吗_网络编程接口socket

看了两天socket,东西比较多,简单总结下。

进程间通信方法有管道、信号量、共享内存、消息队列等,这些机制都依靠一台计算机系统的共享资源实现。资源可以是文件系统空间、共享的物理内存或者消息队列,只有运行在同一台机器上的进程才可以使用它们。socket也是进程间通信的一种方法,但是除上述通信以外,还包括了计算机网络通信。同一台机器上的进程之间可以使用套接字通信,不同机器之间也可以通过套接字实现进程通信,这样就支持分布在网络的客户/服务器系统。

1.什么是套接字

套接字是一种通信机制,客户/服务器系统开发工作既可以在本地单机上进行,也可以跨网络进行。linux所提供的打印服务、连接数据库、远程登录和用于文件传输的ftp通常都是通过socket来进行通信。

套接字与管道的区别是套接字明确的将客户与服务器区分开来,可以将多个客户连接到一个服务器上。

套接字主要应用于网络通信,网络的层次也是我们需要了解的。

网络层次从底层到上层分为媒介---->数据链路层---->网络层---->传输层---->应用层。

数据链路层提供硬件接口,网络层包括IP协议,传输层包括TCP/UDP协议,应用层即用户进程应用程序。而socket位于应用层与传输层之间,可以看做一个抽象的层次,一组接口。应用程序通过socket将数据送到传输层,而不用管具体的TCP/IP协议。

2.套接字的连接

套接字连接位于客户端和服务器端。服务器端服务器进程要用socket()系统调用创建一个套接字(服务器套接字),该套接字不可与其他进程共享。然后服务器需要初始化套接字,与端口绑定(bind)、对端口进行监听(listen)、调用accept(进行阻塞)、等待客户连接。这时如果客户端有初始

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值