SOCKET学习笔记1——TCP通讯
来源:互联网 发布:制作相册影集的软件 编辑:程序博客网 时间:2024/06/06 02:13
一服务端
1声明头文件,引入静态库
#include<winsock2.h>
#pragma comment(lib,"ws2.32.lib")
2初始化socket库,判断返回值NO_ERROR 高地位字节
WSADATA wsaData;
WSAStartup(MAKEWORD(2,2), &wsaData);
3声明SOCKET变量 SOCKADDR_IN变量
SOCKET socketSvr = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
sockaddr_in addrSvr = {0};
addrSvr.sin_family = AF_INET;
addrSvr.sin_port = htons(port);
4绑定
bind(socketSvr,(SOCKADDR*)&addrSvr,sizeof(SOCKADDR));
5监听
listen(socketSvr, SOMAXCONN);
6等待连接
SOCKET sockClient = accept(socketSvr,nullptr,nullptr);
7判断连接的返回值根据返回值发送数据
std::cin>>szSendBuf;
send(sockClient,szSendBuf,strlen(szSendBuf),0);
二客户端
1声明头文件,引入静态库
#include<winsock2.h>
#pragma comment(lib,"ws2.32.lib")
2初始化socket库,判断返回值NO_ERROR 高地位字节
WSADATA wsaData;
WSAStartup(MAKEWORD(2,2), &wsaData);
3声明SOCKET变量 SOCKADDR_IN变量
clientSock = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
sockaddr_in addrSvr = {0};
addrSvr.sin_family = AF_INET;
addrSvr.sin_port = htons(18080);
addrSvr.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");
4与服务端建立连接
if(SOCKET_ERROR ==connect(clientSock,(SOCKADDR*)&addrSvr,sizeof(SOCKADDR))){
std::cout<<"链接失败"<<std::endl;
}
listen(socketSvr, SOMAXCONN);
5接收
recv(clientSock,szBuffer,MAXBYTE,0);
- SOCKET学习笔记1——TCP通讯
- QT笔记(1)——TCP通讯学习
- Android学习笔记17——TCP/IP socket编程
- Android学习笔记17——TCP/IP socket编程
- socket通讯之TCP
- Socket的TCP通讯
- java Socket TCP通讯
- TCP编程,Socket通讯
- Socket TCP聊天通讯
- TCP socket通讯
- socket通讯学习笔记(c#)
- java Socket编程学习笔记 01——基于TCP协议的Socket编程
- Android开发笔记:Socket通讯之Tcp客户端
- TCP/Socket学习1
- socket通讯原理以及tcp、ip三次握手机制学习
- Java TCP/IP Socket 编程 笔记—TCP的例子
- TCP/IP 通讯之socket
- python实现socket通讯(TCP)
- Centos7下Hadoop-2.5.1和Hbase1.0.1的伪分布式安装 转(非原创哈)自己收藏看的
- 直方图最大矩形覆盖
- mysql连接远程数据库
- 浮点数计算注意精度问题
- Windows 安装MySQL-5.7.10-winx64
- SOCKET学习笔记1——TCP通讯
- MongoDB 官方文档
- Spring架包变更org.springframework.dao.DataAccessResourceFailureException
- AWS ubuntu14.04实例上进行condor8.4.3 集群内配置
- POJ 2349 Arctic Network
- Android自定义下拉刷新(附源码)
- 新闻信息检索(一)
- 数据库
- 系统架构-性能篇章2(系统拆分1)