社区
网络编程
帖子详情
BSD Socket 读取数据的相关问题
Mr_Guo
2013-11-25 09:06:18
刚刚研究网络这一块,有些东西还不太懂,向大家请教一下:
关于read函数,由服务端发来的一个数据,我可以分多次去read吗?就是每次只读取一部分。如果可以 该怎么写代码呢,给个简单的代码也ok
比如说,服务端发给客户端的数据大概在300-500个字节,长度不确定,用前4个字节标识了长度,我可以先读前四个字节,再根据这个长度去读后面的数据吗?还是一个数据只能对应一个read函数?
...全文
69
1
打赏
收藏
BSD Socket 读取数据的相关问题
刚刚研究网络这一块,有些东西还不太懂,向大家请教一下: 关于read函数,由服务端发来的一个数据,我可以分多次去read吗?就是每次只读取一部分。如果可以 该怎么写代码呢,给个简单的代码也ok 比如说,服务端发给客户端的数据大概在300-500个字节,长度不确定,用前4个字节标识了长度,我可以先读前四个字节,再根据这个长度去读后面的数据吗?还是一个数据只能对应一个read函数?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Guo江涛
2013-11-26
打赏
举报
回复
可以分多次去recv,recv接受4个参数,最后一个参数为0 表示将读完的数据从流中删除,下次recv的时候接着往后读 recv和send是linux的函数 read和write是C的函数
服务器的设计.docx
UNIX网络的服务器程序设计方法 (刘凯 刘春旭,四川大学计算机学院) 摘要:介绍了几种网络操作模式和UNIX下基于TCP/IP协议的网络客户/服务器模式的程序架构。重点对客户/服务器模式中服务器程序的几种设计方法进行了讨论。 关键词:客户/服务器,
Socket
,进程,并发服务器 1.引言 1.1几种网络模式的介绍 对等网络(Peer-to-Peer)模式不需要专用服务器,每一台工作站都能充当网络服务的请求者和提供者,都有绝对自主权,也可以互相交换文件。这种类型的网络软件被设计成每一个实体都能完成相同或相似的功能。 服务器(Server-Based)模式以服务器为中心,严格地定义了每一个实体的工作角色,即网络上的工作站无法在彼此间直接进行文件传输,需通过服务器作为媒介,所有的文件读取,消息传送等也都在服务器的掌握之中。 服务器的设计全文共11页,当前为第1页。客户/服务器(Client/Server)模式(有时也称为主从式Master/Slave)指将需要处理的工作分配给客户端和服务器端处理,所谓的客户和服务器并没有一定的界限,这取决于运行什么软件,简单的讲,客户是提出服务请求的一方,而服务器是提供服务的一方。在客户/服务器模式中服务器端所提供的功能不仅仅是文件、数据库等服务,还应当有相应的计算、通信等能力——也就是说在工作时由客户端和服务器端各自负担一部分计算或通信的功能。客户/服务器模式已经成为计算机网络互连中最重要的应用技术之一,它把一个大型的计算机应用系统变为多个能互为独立的子系统,而服务器便是整个应用系统资源的存储与管理中心,多台客户机则各自处理相应的功能,共同实现完整的应用。 服务器的设计全文共11页,当前为第1页。 浏览器/服务器(Browser/Server)模式从本质上将,仍然是客户/服务器模式(是客户/服务器模式的特例)。只不过在某些应用方面,如数据库服务,它将传统的二层客户/服务器结构发展成三层的客户/服务器结构并在Internet上应用而已。 在上述几种模式中,客户/服务器模式具有灵活多变的体系结构、丰富的开发环境和强大的设备驱动能力。 1.2本文所采用的网络应用程序编程接口 网络程序之间进行通讯,必须建立在一定的通讯协议基础之上。对于UNIX下的应用程序,可用的协议有TCP/IP的传输控制协议TCP(Transmission Control Protocol)和用户数据报协议UDP(User Datagram Protocol),XNS(Xerox Network System)的定序分组协议SPP(Sequential Pocket Protocol)和网际数据报协议IDP(Internetwork Datagram Protocol)以及ARPANET的接口报文处理机链路IMPLINK(Interface Message Processor Link)等。因为Internet的普及,使得TCP/IP成为使用最广泛的协议。 UNIX下基于TCP/IP协议的网络应用程序编程接口API(Application Programming Interface)有两种:源自
BSD
UNIX的
Socket
API和AT&T的传输层接口TLI(Transport Layer Interface)的超集——X/Open传输接口XTI(X/Open Transport Interface)。这两种API都是面向客户/服务器模式的。由于
Socket
API已经成为事实上的标准,因此本文在介绍服务器端程序的设计方法时也采用
Socket
API。 2.客户/服务器模式的
Socket
实现框架 2.1 TCP/IP
Socket
的基本原理。 TCP/IP对外提供的只是编程接口而非用户服务,真正的用户服务还得靠编写相应的服务程序来实现。TCP/IP的
Socket
API编程接口构成了使用协议的网络应用程序视图。 服务器的设计全文共11页,当前为第2页。 服务器的设计全文共11页,当前为第2页。 服务程序客户程序
Socket
APITCP/IP协议物理介质 服务程序 客户程序
Socket
API TCP/IP协议 物理介质 图1.网络应用程序、
Socket
API和TCP/IP的关系 服务器的设计全文共11页,当前为第3页。
Socket
API在
BSD
UNIX中首次提出,其目的是为了解决网络间程序通讯的
问题
。就其原理而言,面向连接的
Socket
类似于电话系统,无连接的
Socket
类似于电报系统。
Socket
实质上是为网络程序提供了通讯的端点号。对于每个网络程序的一个
Socket
,它首先有一个半
相关
的端点号的描述:{协议,本地地址,本地端口},如果它是与另一个
Socket
连接了的,则有一个
相关
的端点描述:{协议,本地地址,本地端
BSD
Socket
的收发数据函数介绍
转载请注明出处:csdn火木达人 建立好了
socket
连接之后,我们就可以把得到的fd当作文件描述符来使用,一下三种方式可用于
socket
数据收发 1.connect() + write() + read() : 适用于TCP 头文件: #include #include #include ssize_t write(int d,const void *buf,size
socket
编程 ------
BSD
socket
API
伯克利套接字(Berkeley
socket
s),也称为
BSD
Socket
。伯克利套接字的应用编程接口(API)是采用C语言的进程间通信的库,经常用在计算机网络间的通信。
BSD
Socket
的应用编程接口已经是网络套接字的抽象标准。大多数其他程序语言使用一种相似的编程接口。它最初是由加州伯克利大学为Unix系统开发出来的。所有现代的操作系统都实现了伯克利套接字接口,因为它已经是连接互联网的标准...
iOS网络编程之
BSD
Socket
BSD
socket
API 和 winsock API 接口大体差不多,下面将列出比较常用的 API:API接口讲解int
socket
intclose
socket
创建并初始化
socket
,返回该
socket
的文件描述符,如果描述符为 -1 表示创建失败。通常参数 addressFamily 是 IPv4(AF_INET) 或 IPv6(AF_INET6)。
swift
socket
编程客户端(一)--
BSD
Socket
在iOS上编写
Socket
一般会用到三个框架 1.
BSD
Socket
2.CFNetwork API 3.Stream
BSD
Socket
是C语音实现的,在初始化
Socket
的时候不会自动打开设备Wi-Fi或者蜂窝无线网。所以在iOS上编程最好用CFNetwork或者Stream。
BSD
Socket
的主要API(swift 代码)
socket
(addressFamily:...
网络编程
18,356
社区成员
64,217
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章