linuxC套接字socket:帮我记住

原创 2012年03月28日 22:54:09

*套接字是一种通信机制,可以编写客户/服务端夸网络的通信程序。

*如何通过套接字来维持一个连接的?

 1. 服务端调用socket()创建一个套接字,套接字是类似于文件描述符的资源。

 2.服务端给套接字娶个名字  bind()  即绑定好地址。(1. 本地:socket文件名  就是名字  (2. 网络:端口号+IP地址  (通过端口,我们可以转到正确的服务器运行的那个进程)

 3.创建队列存放客户连接:listen()   ,   并一个一个的接收客户连接: accept()  .   accept()会创建一个新的套接字,仅用于该客户进行通信,而那个命名的套接字则继续等待其他客户的连接

 4.关闭子套接字。

              ------以上是服务端的socket编写------

              ------以下是客户端的socket编写------

 1.调用socket()创一个未命名套接字。

 2.将服务器命名套接字作为一个地址,通过connect来创建连接。

 3.关闭套接字。

------注意:套接字的连接建立好了之后,我们就可以像底层描述符一样使用read() write()函数来读写通信罗。

*套接字3属性: 1 域 (本地,网络)  2.类型 (流,数据报)  3.协议(一般为0,因为流就是tcp/ip ,数据报就是udp)

*网络套接字,必须在通信之间,绑定一个端口,因为要靠端口来访问呀。 最好使用1024以下的端口哦。那个是系统占用端口

*流:可以确保数据的顺序,稳定,完整,不丢失,会维持一个连接,直到数据都完了才over

 报:不能确保数据的稳定,不可靠,无序,会丢失,不会维持一个连接 ,在局域网,udp还是很可靠的。

*主机字节序  和 网络字节序 。 我们必须统一转换为网络字节序列,来达到传输效果。

数据报的socket编程与tcp/ip一样,只是他把 read() 换成了 sendto()  ,把write()  换成了 recvfrom() .

插入代码:524页。

linuxC多线程:帮我记住

多线程: * 头文件 , 链接库  -lpthread  , pthread_t 类型   pthread_attr_t 属性类型 * 3个常用函数:     int pthread_crea...
  • cwj649956781
  • cwj649956781
  • 2012年03月27日 17:07
  • 737

Linux套接字

套接字是一种通信机制,凭借这种机制,客户/服务器系统的开发工作既可以在本地单机上进行,也可以跨网络进行。 套接字的特性有三个属性确定,它们是:域(domain),类型(type),和协议(proto...
  • querdaizhi
  • querdaizhi
  • 2012年05月04日 09:40
  • 11798

套接字原理----socket

运行在不同机器上的进程彼此通过向套接字发送报文来进行通信。每个进程好比是一座房子,进程的套接字就好比是一个门。套接字是应用进程和TCP之间的门,应用程序开发者可以控制套接字的应用层那一侧所有的东西,但...
  • Hearthougan
  • Hearthougan
  • 2016年04月28日 17:19
  • 8501

Socket套接字学习(一)

1.套接字(socket)       一个完整的网络应用程序包括客户端和服务器两个部分。网间通信进程需要由两个进程组成,并且只能用同一种协议。也就是说,不能在通信的一端使用TCP协议,而另一端则用U...
  • cxh342968816
  • cxh342968816
  • 2011年04月20日 20:50
  • 13983

谈谈socket 套接字

socket 是什么?先说说这个单词的意思吧!看看有道词典给出的解释:
  • farsight2009
  • farsight2009
  • 2016年12月09日 16:19
  • 609

Socket 的功能 和 套接字的三种类型

转载自  http://blog.chinaunix.net/uid-22240661-id-1781638.html 6.2.2  Socket的功能     Socket的英文原意...
  • bjyddxhfxq
  • bjyddxhfxq
  • 2016年04月11日 10:34
  • 2931

使用socket()函数创建套接字

在Linux中,一切都是文件,除了文本文件、源文件、二进制文件等,一个硬件设备也可以被映射为一个虚拟的文件,称为设备文件。例如,stdin 称为标准输入文件,它对应的硬件设备一般是键盘,stdout ...
  • softn
  • softn
  • 2016年06月01日 06:54
  • 1325

套接字—Socket

网络编程就不得不提大名鼎鼎的套接字—Socket一,什么是Socket 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个Socket。Socket的英文原意是“插座...
  • l953972252
  • l953972252
  • 2016年06月02日 20:51
  • 5037

使用Socket套接字绑定函数bind的一个细节

只要稍微接触Socket套接字进行过网络编程的人,对Socket客户端调用流程或服务端调用流程都会很熟悉,传输层协议采用TCP也好,或UDP也罢。但是要写好这套“固化”的流程代码,如果稍不小心,或缺乏...
  • chexlong
  • chexlong
  • 2011年11月05日 21:09
  • 7503

了解套接字Socket

了解套接字   套接字是通过操作系统(OS)完成网络通信的一种标准方法。可以将套接字看作是与连接相连的一个终端,就像是操作员配电盘上的一个插座一样。但是这些套接字只是程序员的抽象称呼,它们负责有文...
  • lcgweb
  • lcgweb
  • 2016年02月05日 22:41
  • 1316
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:linuxC套接字socket:帮我记住
举报原因:
原因补充:

(最多只允许输入30个字)