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


相关推荐
wanhengidc6 小时前
云手机中的数据通常存储在哪里?
运维·服务器·安全·web安全·智能手机
凌寒116 小时前
Linux(Debain)安装Redis、数据迁移
linux·运维·服务器·redis
7***q6086 小时前
在linux(Centos)中Mysql的端口修改保姆级教程
linux·mysql·centos
2501_921939267 小时前
11.25Nginx服务器和Wordpress服务器
运维·服务器·nginx
用户476022022787 小时前
机器配置免密切root
linux
wanhengidc7 小时前
云手机中分布式存储的功能
运维·服务器·分布式·游戏·智能手机·云计算
翼龙云_cloud8 小时前
亚马逊云渠道商:AWS Shield和传统防火墙怎么选?
运维·服务器·云计算·aws
zzzsde8 小时前
【Linux】基础开发工具(2):vim补充说明&&gcc/g++编译器
linux·运维·服务器
河南博为智能科技有限公司8 小时前
动环监控终端-守护变电站安全运行的智能核心
运维·服务器·网络·物联网
q***65698 小时前
使用Canal将MySQL数据同步到ES(Linux)
linux·mysql·elasticsearch