C++基于TCP的网络应用程序的编写
来源:互联网 发布:艾泽拉斯数据库 人口 编辑:程序博客网 时间:2024/06/05 03:59
1.服务器端程序(需要加载依赖库 ws2_32.lib)
#include <WinSock2.h>#include <stdio.h>void main(){//加载套接字库WORD wVersionRequested;WSADATA wsaData;int err;wVersionRequested = MAKEWORD(1,1);//高字节,低字节err = WSAStartup(wVersionRequested, &wsaData);if (err != 0){return;//加载套接字失败}if (LOBYTE(wsaData.wVersion)!=1 || HIBYTE(wsaData.wVersion)!=1){WSACleanup();return;//版本不支持}//创建用于监听的套接字SOCKET sockSrv = socket(AF_INET, SOCK_STREAM, 0);SOCKADDR_IN addrSrv;addrSrv.sin_addr.S_un.S_addr = htonl(INADDR_ANY);//host2net 32位addrSrv.sin_family = AF_INET;addrSrv.sin_port = htons(6000);//host2net 16位//绑定套接字bind(sockSrv, (SOCKADDR*)&addrSrv, sizeof(SOCKADDR));//将套接字设置为监听模式,准备接受客户请求listen(sockSrv, 5);//设置等待连接队列的最大长度是5SOCKADDR_IN addrClient;int len = sizeof(SOCKADDR);while (1){//等待客户请求到来SOCKET sockConn = accept(sockSrv, (SOCKADDR*)&addrClient, &len);char sendBuf[100];sprintf(sendBuf, "welcome %s to www.hahacom", inet_ntoa(addrClient.sin_addr));//发送数据send(sockConn, sendBuf, strlen(sendBuf)+1, 0);//接受数据char recvBuf[100];recv(sockConn, recvBuf, strlen(recvBuf)+1, 0);//打印接受到的数据printf("%s/n",recvBuf);//关闭套接字closesocket(sockConn);}}
2.客户端程序的(需要加载依赖库 ws2_32.lib)
#include <WinSock2.h>#include <stdio.h>void main(){//加载套接字库WORD wVersionRequested;WSADATA wsaData;int err;wVersionRequested = MAKEWORD(1,1);//高字节,低字节err = WSAStartup(wVersionRequested, &wsaData);if (err != 0){return;//加载套接字失败}if (LOBYTE(wsaData.wVersion)!=1 || HIBYTE(wsaData.wVersion)!=1){WSACleanup();return;//版本不支持}//创建套接字SOCKET sockClient = socket(AF_INET, SOCK_STREAM, 0);SOCKADDR_IN addrSrv;addrSrv.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");//将点分十进制表示的IP地址转换为u_long类型的数值addrSrv.sin_family = AF_INET;addrSrv.sin_port = htons(6000);//host2net 16位//向服务器发送连接请求connect(sockClient, (SOCKADDR*)&addrSrv, sizeof(SOCKADDR));//接受数据char recvBuf[100];recv(sockClient, recvBuf, strlen(recvBuf)+1, 0);//打印接受到的数据printf("%s/n",recvBuf);//发送数据send(sockClient, "this is lisa", strlen("this is lisa")+1, 0);//关闭套接字closesocket(sockClient);WSACleanup();}
0 0
- C++基于TCP的网络应用程序的编写
- 基于TCP和UDP网络应用程序的编写
- 基于TCP的网络应用程序
- 基于TCP的 C/S模式 网络应用程序
- TCP 的 网络应用程序的编写
- [转]编写基于TCP的应用程序
- Windows实现基于TCP的网络应用程序
- 创建基于TCP的C/S应用程序
- 基于C的UDP,TCP网络编程
- C++基于UDP的网络应用程序的编写
- 基于UDP的 C/S模式 网络应用程序
- 基于C/S的简单TCP网络编程
- 基于TCP的C/S网络编程模型
- 基于TCP的网络编程
- 基于TCP的网络编程
- 摘写的简单到非常的基于TCP的网络应用程序
- 编写基于libjingle的应用程序的步骤
- 基于TCP/IP协议的服务端应用程序
- D - Red-Green Towers dp
- 解决c语言中调用scanf()或者strcpy()函数报错问题
- SQL注入基础
- 转:微信序列号生成器架构设计及演变(下)
- 防止表单重复提交订单
- C++基于TCP的网络应用程序的编写
- spring springmvc 将事物管理(@Transactional)分别加在 controller和service层
- C/C++中extern关键字详解与应用
- 位运算
- 关于事务的一些基本概念
- LeetCode(455)Assign Cookies
- 多态中的this参数
- 通过SSH实现 端口映射
- 设置隐藏标题栏