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


相关推荐
努力学习的小廉5 分钟前
深入了解linux系统—— 线程同步
linux·服务器·数据库·算法
sinat_6020353612 分钟前
模块与包的导入
运维·服务器·开发语言·python
鲸屿19515 分钟前
Ansible之playbook
服务器·网络·ansible
2301_8101545516 分钟前
VM中CentOS 7密码重置
linux·运维·centos
zhaqonianzhu23 分钟前
Linux GPIO 使用 Pinctrl 及 Gpiolib 通俗详解
linux·安卓
网硕互联的小客服32 分钟前
408 Request Timeout:请求超时,服务器等待客户端发送请求的时间过长。
运维·服务器
王伯安呢35 分钟前
告别线缆束缚!AirDroid Cast 多端投屏,让分享更自由
运维·服务器·教程·投屏·airdroid cast·多端互投
逍遥浪子~39 分钟前
搭建本地gitea服务器
运维·服务器·gitea
骄傲的心别枯萎41 分钟前
RV1126 NO.16:通过多线程同时获取H264和H265码流
linux·c++·音视频·rv1126
空灵之海43 分钟前
Ubuntu系统安全合规配置
linux·ubuntu·系统安全·1024程序员节