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 小时前
HAProxy高级功能全解析
linux·运维·服务器·微服务·云原生
学嵌入式的小杨同学2 小时前
【Linux 封神之路】信号编程全解析:从信号基础到 MP3 播放器实战(含核心 API 与避坑指南)
java·linux·c语言·开发语言·vscode·vim·ux
酥暮沐2 小时前
iscsi部署网络存储
linux·网络·存储·iscsi
❀͜͡傀儡师3 小时前
centos 7部署dns服务器
linux·服务器·centos·dns
Dying.Light3 小时前
Linux部署问题
linux·运维·服务器
S19013 小时前
Linux的常用指令
linux·运维·服务器
小义_3 小时前
【RH134知识点问答题】第7章 管理基本存储
linux·运维·服务器
梁洪飞4 小时前
内核的schedule和SMP多核处理器启动协议
linux·arm开发·嵌入式硬件·arm
_运维那些事儿4 小时前
VM环境的CI/CD
linux·运维·网络·阿里云·ci/cd·docker·云计算
Y1rong5 小时前
linux之文件IO
linux