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()


相关推荐
北极之熊熊2 小时前
海量数据库安装及常用命令
linux·运维·数据库
C_心欲无痕3 小时前
网络相关 - TCP-IP协议和三次握手
网络·网络协议·tcp/ip
航Hang*4 小时前
第六章:网络系统建设与运维(高级)—— STP生成树协议
运维·服务器·网络·笔记·ensp
老王熬夜敲代码4 小时前
多路复用epoll
linux·网络·笔记
陌路205 小时前
操作系统(15)--进程与线程
linux·运维·服务器
相心缘生5 小时前
硬核的财税服务公司推荐
服务器
航Hang*5 小时前
第八章:网络系统建设与运维(高级)—— 服务质量
运维·服务器·网络·笔记·ensp
05大叔5 小时前
MybatisPlus
java·服务器·前端
Howrun7775 小时前
Linux---内核态&用户态
linux
QT 小鲜肉5 小时前
【Linux命令大全】002.文件传输之ftpwho命令(实操篇)
linux·运维·服务器·网络·chrome·笔记