socket编程1. 函数说明socket编程有以下几种基本函数:socket():用于创建套接字,同时指定协议和类型bind():将保存在相应地址结构中的地址信息与套接字进行绑定。主要用于服务器端,客户端创建的套接字可以不绑定地址listen():在服务器端建立套接字并绑定地址后,将套接字设置成监听模式(被动模式),准备接收客户端的连接请求accept():等待并接收客户端的连接请求。建立好TCP连接后,该函数将返回一个新的已连接套接字connect():客户端通过该函数向服务器端的监听套
原创 2022-01-04 11:57:05
657阅读
Linux网络Socket编程是一项非常重要的技能,特别是对于开发网络应用程序的程序员来说。在Linux系统中,Socket是一种应用程序编程接口(API),它允许应用程序通过网络发送和接收数据。红帽公司作为一家开源软件公司,在Linux系统中有着举足轻重的地位,因此对于开发人员来说,掌握红帽Linux网络Socket编程技术是至关重要的。 在Linux系统中,Socket编程是通过操作系统提供
原创 3月前
11阅读
什么是Socket Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。要学Internet上的TCP/IP网络编程,必须理解Socket接口。 Socket接口设计者最先是将接口放在Unix操作系统里面的。如果了解Unix系统的输入和输出的话,就很容易了解Socket了。网络Socket数据传输是一种特
转载 精选 2010-05-10 11:21:20
374阅读
分解,也就不难了,正入正题:实际上sockpair有点像之前linux系统编程中学习的pipe匿名管道,匿名管道它是半双工的,只能用于亲缘关系的进程间进行通信,也就是说父子进程或兄弟进程间进行通讯,因为它是没有名称的,父子进程可以通过共享描...
原创 2014-11-28 07:44:00
224阅读
学习socket编程继续,今天要学习的内容如下:先来简单介绍一下这五种模型分别是哪些,偏理论,有个大致的印象就成,做个对比,因为最终只会研究一个I/O模型,也是经常会用到的,阻塞I/O:先用一个图来描述它:实际上,之前我们使用的套接口I/O编程都是用该模型,针对上面的图进行说明一下:一旦套接口连接成功之后,就可以recv数据了,如下:会向系统发起请求来接收数据,而这个recv请求是阻塞的,那什么时
原创 2014-10-17 07:52:00
162阅读
经过一个国庆长假,又有一段时间没有写博文了,今天继续对linux网络编程进行学习,如今的北京又全面进入雾霾天气了,让我突然想到了一句名句:“真爱生活,珍惜生命”,好了,言归正传。回顾一下我们之间实现在TCP回射客户/服务器程序,首先回顾一下第一个版本:TCP客户端从stdin获取(fgets)一行数据,然后将这行数据发送(write)到TCP服务器端,这时TCP服务器调用read方法来接收然后再将
原创 2014-10-09 22:11:00
140阅读
今天继续学习socket网络编程,最近北京阴雨连绵,降温明显,感觉是要立马转入冬季的节奏,天冷晚上得注意多盖点被子哦,言归正传,进入正题:对于之前写的回射客户/服务器端的程序中,我们是用的read和write来读取和发送数据的,如下:那recv相对于read有什么区别呢?先看一下man帮助:其实它跟read函数功能一样,都可以从套接口缓冲区sockfd中取数据到buf,但是recv仅仅只能够用于套
原创 2014-09-23 21:30:00
158阅读
今天继续对socket编程进行研究,这里会真正开如用socket写一个小例子,进入正题:TCP客户/服务器模型:关于这个模型的流程这里就不多说了,比较容易理解,下面则利用这种模型来编写一个实际的例子。回射客户/服务器:这个例子的效果就是:客户端从命令行获取一行命令,然后发送给服务器端,当服务端接收到这行命令之后,不做任何操作,将其又回送给客户端,然后客户端进行回显,下面则开始一步步来实现这样的效果
原创 2014-08-19 22:24:00
161阅读
原创 2014-11-04 22:57:00
79阅读
经过两周的等待,终于可以回归我正常的学习之旅了,表哥来北京了在我这暂住,晚上回家了基本在和他聊天,周末带他在北京城到处乱转,几乎剥夺了我自由学习的时间了,不过,亲人之情还是很难得的,工作学习并不是生活的唯一,现在已经习惯每周至少写一篇博文的生活了,如果一周不写会觉得缺少什么似的,好了,话不多说,继续学习linux网络编程socket相关的知识:流协议与粘包:关于什么是粘包可能有些抽象,先得有一些理
原创 2014-08-30 16:28:00
133阅读
今天继续学习socket编程,这次主要是学习UNIX域协议相关的知识,下面开始:【有个大概的认识,它是来干嘛的】①、UNIX域套接字与TCP套接字相比较,在同一台主机的传输速度前者是后者的两倍。UNIX域协议主要是用于本地的进程间进行通讯,而TCP的套接字不仅可以用于本地的进程间进行通讯,还可用于两台不同主机上面进程间进行通讯,如果都是用于本地的进程间通讯的话,UNIX域协议比TCP协议效率来得高
原创 2014-11-21 08:02:00
174阅读
①、alarm【不常用,了解既可】它的实现思路是这样的:但是这种方案有一定的问题,因为闹钟可能会作为其它的用途,这时所设置的闹钟跟其它用途的闹钟会产生冲突,而这些冲突的解决,会比较麻烦,这里就不多讨论了,因为不使用它,仅了解既可,...
原创 2014-11-08 13:53:00
112阅读
次主要是进一步加深对UDP的认识,用它来实现一个简易的聊天室程序,下面首先来看一下该程序的总...
原创 2014-11-17 20:59:00
66阅读
转眼又快到十一月份了,北京已经是完全进入冬天的节奏,外面冷风嗖嗖的,不过在夜深人静之时,学习永远成了我最快乐的时光,只有此时会觉得自己是如此踏实,虽说白天工作也是编一天程,但是此时的编程,是一种业余爱好,而非是生活所迫,非常享受它,好了,让享受继续。继上次学习了select函数,这次继续对它的用法进行进一步学习,下面就首先先来回顾一下该函数:上面是函数的原形,下面用理论阐述一下它,它可以看成是一个
原创 2014-10-27 21:49:00
176阅读
今天继续对socket编程进行学习,在学习之前,需要回顾一下上一篇中编写的回射客户/服务器程序,因为今天的知识点需要基于它来进行说明,下面来回顾一下关键代码:对于服务器端:echosrv.c对于客户端:echocli.c下面通过一个简单的图来描述一下其关系:可想而知,这两个套接字都有自己的地址,对于conn服务端而言,它的地址是在绑定的时候确认的,也就是:而对于sock客户端而言,它的地址是在连接
原创 2014-08-24 16:39:00
131阅读
今天开始,继续来学习linux编程,这次主要是研究下linux下的网络编程,而网络编程中最基本的需从socket编程开始,下面正式开始学习:什么是socket:在学习套接口之前,先要回顾一下Tcp/Ip四层模型:而在说明什么是Socket之前,需要理解下面这些图:而实际上:所以:另外:这跟管道是不同的,管道只能用于本机的进程间通信。另外socket能用于异构系统间进行通信:IPv4套接口地址结构:
原创 2014-08-11 22:20:00
206阅读
①、无连接UDP协议它内部并没有维护端到端的一些连接状态,这跟TCP是不同的,TCP是基于连接的,而在连接的时候是需要进行三次握手,而UDP是不需要的。②、基于消息的数据传输服务对于TCP而言,它是基于流的数据传输服务,而在编程时,...
原创 2014-11-14 07:37:00
114阅读
今天继续学习socket编程,北京在持续几天的雾霾天之后久违的太阳终于出来了,心情也特别特别的好,于是乎,在这美好的夜晚,该干点啥事吧,那当然就是继续坚持我的程序学习喽,闲话不多说,进入正题:通过这个状态的学习,进一步复习一下“连接建立三次握手、连接终止四次握手【下面会分别来介绍】”,下面首先来看一张图:从图中可以数一下,总共有“LISTEN、SYN_SENT、SYN_RCVD、ESTABLISH
原创 2014-10-13 21:31:00
179阅读
话虽些许夸张,但是事实也是,现在的网络编程几乎都是用的socket。——有感于实际编程和开源项目研究。我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览器的进程怎么与web服务器通信的?当你用QQ聊天时,QQ进程怎么与服务器或你好友所在的QQ进程通信?
原创 2022-03-10 16:58:14
135阅读
话虽些许夸张,但是事实也是,现在的网络编程几乎都是用的socket。——有感于实际编程和开源项目研究。我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览器的进程怎么与web服务器通信的?当你用QQ聊天时,QQ进程怎么与服务器或你好友所在的QQ进程通信?这些都得靠socket?那什么是socketsocket的类型有哪些?还有socket的基本函
原创 2021-09-05 16:48:28
433阅读
  • 1
  • 2
  • 3
  • 4
  • 5