Socket 编程 TCP

TCP****网络程序
和刚才 UDP 类似. 实现一个简单的英译汉的功能。
TCP是面向字节流的可靠传输,如同前文的管道流,只要是流,它的操作就是文件的写出与读入。

TCP socket API****详解

下面介绍程序中用到的 socket API,这些函数都在 sys/socket.h 中。

socket()

bind()


服务器程序所监听的网络地址和端口号通常是固定不变的,客户端程序得知服务器程序的地址和端口号后就可以向服务器发起连接; 服务器需要调用 bind 绑定一个固定的网络地址和端口号;
•bind()成功返回 0,失败返回-1。
• bind()的作用是将参数 sockfd 和 myaddr 绑定在一起, 使 sockfd 这个用于网络通讯的文件描述符监听 myaddr 所描述的地址和端口号;
• 前面讲过,struct sockaddr *是一个通用指针类型,myaddr 参数实际上可以接受多种协议的sockaddr 结构体,而它们的长度各不相同,所以需要第三个参数 addrlen指定结构体的长度;

listen()

accept()



返回一个有实际服务客服端的文件描述符,listenfd为 socket()创建返回的负责监听的套接字**,它没有实际的服务。**

connect()


相关推荐
陌路203 小时前
Linux18--进程间的通信总结
linux
2401_858286113 小时前
OS36.【Linux】简单理解EXT2文件系统(2)
linux·运维·服务器·数据结构·文件系统·ext2
Zach_yuan3 小时前
程序地址空间
android·linux·运维·服务器
梁萌3 小时前
Linux安装BiliNote
linux·运维·服务器·docker·bilinote
Roc-xb4 小时前
解决虚拟机安装的Ubuntu20.04.6 LTS 不能复制粘贴问题
服务器·ubuntu·vmvare
m0_738120724 小时前
网络安全编程——TCP客户端以及服务端Python实现
python·tcp/ip·安全·web安全·网络安全
小安运维日记4 小时前
RHCA - DO374 | Day03:通过自动化控制器运行剧本
linux·运维·数据库·自动化·ansible·1024程序员节
无聊的小坏坏4 小时前
从零开始:C++ TCP 服务器实战教程
服务器·c++·tcp/ip
乐十九6 小时前
IIC总线原理详解
linux
TG_yunshuguoji6 小时前
亚马逊云渠道商:本地SSD缓存如何保障数据安全?
运维·服务器·安全·云计算·aws