第十三节 网络编程
来源:互联网 发布:江苏大学网络教学平台 编辑:程序博客网 时间:2024/05/01 03:36
套节字编程,常用的Socket类型主要有两种:
数据流套接字:提供面向连接的类型,如TCP
数据报套接字:提供面向非连接的数据传输,如UDP
TCP::::::
1.服务器端
调用socket函数创建一个套接字
将创建的套接字绑定到一个IP地址和端口,通过调用bind函数来实现;
调用listen函数将套接字设为监听模式,以等待连接请求;
请求到来后,接受连接请求,并返回一个与该连接对应的套接字,通过调用accept函数来实现;
与客户进行通信
终止连接,关闭套接字。
2.客户端
调用socket函数创建一个套接字
向服务器发出连接请求,通过调用connect函数来实现;
与服务器进行通信;
终止连接,关闭套接字。
UDP::::::::
1.服务器端
调用socket函数创建一个套接字;
将创建的套接字绑定到一个IP地址和端口上,通过调用bind函数来实现;
等待接受数据报,处理完成后将结果返回客户端;
终止连接,关闭套接字
2.客户端
调用socket函数创建一个套接字;
向服务器发送数据报;
终止连接,关闭套接字。
TCP连接流程图:::::
socket()
|
|
bind()
|
|
listen()
|
|
accept() socket()
| |
阻塞,等待客户连接------------- connect()
|
read()--------------------------write()
|
write()-------------------------read()
| |
close() close()
基于UDP的SOCKET工作流程
socket()
|
bind() socket()
| |
readfrom() bind()
| |
阻塞,等待客户服务请求-------- sendto()
| |
处理服务请求 readfrom()
| |
sendto() close()
|
close()
创建套接字:socket
绑定套接字:bind
监听网络端口:listen
接受连接:accept
建立连接:connect
面向连接的数据传输:send和recv
无连接的数据传输:
sendto和recvfrom
关闭套接字
close
多路复用i/o并发服务器
无阻塞模式:
fcntl和iotcl
这样会浪费资源,使用select将进程挂起
域名系统:
gethostbyname函数可以通过域名来获取主机的IP地址等信息。
数据流套接字:提供面向连接的类型,如TCP
数据报套接字:提供面向非连接的数据传输,如UDP
TCP::::::
1.服务器端
调用socket函数创建一个套接字
将创建的套接字绑定到一个IP地址和端口,通过调用bind函数来实现;
调用listen函数将套接字设为监听模式,以等待连接请求;
请求到来后,接受连接请求,并返回一个与该连接对应的套接字,通过调用accept函数来实现;
与客户进行通信
终止连接,关闭套接字。
2.客户端
调用socket函数创建一个套接字
向服务器发出连接请求,通过调用connect函数来实现;
与服务器进行通信;
终止连接,关闭套接字。
UDP::::::::
1.服务器端
调用socket函数创建一个套接字;
将创建的套接字绑定到一个IP地址和端口上,通过调用bind函数来实现;
等待接受数据报,处理完成后将结果返回客户端;
终止连接,关闭套接字
2.客户端
调用socket函数创建一个套接字;
向服务器发送数据报;
终止连接,关闭套接字。
TCP连接流程图:::::
socket()
|
|
bind()
|
|
listen()
|
|
accept() socket()
| |
阻塞,等待客户连接------------- connect()
|
read()--------------------------write()
|
write()-------------------------read()
| |
close() close()
基于UDP的SOCKET工作流程
socket()
|
bind() socket()
| |
readfrom() bind()
| |
阻塞,等待客户服务请求-------- sendto()
| |
处理服务请求 readfrom()
| |
sendto() close()
|
close()
创建套接字:socket
绑定套接字:bind
监听网络端口:listen
接受连接:accept
建立连接:connect
面向连接的数据传输:send和recv
无连接的数据传输:
sendto和recvfrom
关闭套接字
close
多路复用i/o并发服务器
无阻塞模式:
fcntl和iotcl
这样会浪费资源,使用select将进程挂起
域名系统:
gethostbyname函数可以通过域名来获取主机的IP地址等信息。
0 0
- 第十三节 网络编程
- 第十八节网络编程
- php学习 第十三节
- 第十课 Java 网络编程
- java第十一天 网络编程
- OC学习 第十三节 block
- 第十三节 高阶函数
- RH124-第十三节-虚拟机管理
- Java基础部分第十三节
- 汇编第十三节-int指令
- 在vb中使用Iphlpapi.dll获取网络信息 第二章 第十三节 获得目的地IP对应的物理地址
- 在vb中使用Iphlpapi.dll获取网络信息 第二章 第十三节 获得目的地IP对应的物理地址
- Java第十一次课-网络编程
- unix网络编程-第十章-小结
- [黑马程序员]第十篇:网络编程
- 【黑马程序员】第十章:网络编程
- Spark修炼之道(基础篇)——Linux大数据开发基础:第十三节:Shell编程入门(五)
- Spark修炼之道(基础篇)——Linux大数据开发基础:第十三节:Shell编程入门(五)
- 《Redis Sentinel机制与用法(一)》
- 自己写的UnitY实用小工具或脚本——读取Texture序列帧动画
- 6. head 区的设置
- 关于QT下资源使用和资源占用内存过多的问题
- Failed to load platform plugin "windows"
- 第十三节 网络编程
- GRE写作必备句型
- POJ 3279 Fliptile (二进制+搜索)
- NSArray(不可变数组)、NSMutableArray(可变数组)、数组排序、NSNumber(多态:数值和对象互转)、NSValue(将结构体转换成对象)
- EJB笔记---JBoss 开发环境搭配
- 收藏网站14
- message sent to deallocated instance
- iOS开发 - CoreData框架 数据持久化
- Contains Duplicate II