网络编程-TCP编程(windows)

网络编程-TCP编程与TCP并发实现-线程-windowsTCP编程TCP服务器端编程流程服务器(被动):TCP编程TCP编程C/S架构TCP服务器端编程流程服务器(被动):创建套接字绑定服务器IP,端口将套接字设置为监听状态阻塞等待客户端的连接请求进行通信关闭套接字...
摘要由CSDN通过智能技术生成

TCP编程

TCP编程C/S架构
TCP编程C/S架构

TCP服务器端编程流程

服务器(被动):
  1. 创建套接字
  2. 绑定服务器IP,端口
  3. 将套接字设置为监听状态
  4. 阻塞等待客户端的连接请求
  5. 进行通信
  6. 关闭套接字
所需函数

listen函数
Int listen(int sockfd,int backlog);
注意! 该函数是设定同时连接主机的最大监听个数的。

功能 将套接字由主动修改为被动,是操作系统为该套接字设置一个连接队列,用来记录所有连接到该套接字的连接。
参数 sockfd 监听套接字 backlog 连接队列的长度
返回值 成功返回0,失败其他。

accept函数
Int accept(int sockfd,struct sockaddr *cliaddr,socklen_t *addrlen);

功能 从已连接队列中取出一个已经建立的连接,如果没有任何连接可用,则进入睡眠等待(阻塞)
参数 Sockfd 用于监听的套接字 Cliaddr 用于存放客户端套接字地址结构体 Addrlen 套接字地址结构体长度的地址
返回值 已连接的套接字
源代码
void main() {
   
	//版本初始化
	WSADATA wsaData;
	if (WSAStartup(MAKEWORD(2, 2), &wsaData) != 0) {
   
		printf("版本初始化失败!\n");
		return;
	}


	//第一步,创建套接字并初始化
	SOCKET ListenSocket;
	if ((ListenSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) == INVALID_SOCKET) {
   
		printf("套接字打开失败\n");
		WSACleanup();
		return;
	}


	//创建服务器端地址结构体  
	SOCKADDR_IN serveradd;
	serveradd.sin_family = AF_INET;
	serveradd.sin_port = htons(5150);
	serveradd.sin_addr.S_un.S_addr = htonl
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值