socket编程,先来个简单的TCP例子吧
来源:互联网 发布:淘宝买家投诉举证 编辑:程序博客网 时间:2024/06/07 04:00
Server端:
#include <Winsock2.h>#include <stdio.h>#pragma comment(lib,"ws2_32.lib")#define PORT_NUMBER 11234#define MAX_BUF_SIZE 1024int main(){WSADATA wSaData;WORD dwSockVersion = MAKEWORD(2,2);if (0 != WSAStartup(dwSockVersion,&wSaData)) //协商版本号{printf("Arrange Version Failure");return -1;}SOCKET nSocket;nSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); //创建TCP socketif (INVALID_SOCKET == nSocket){printf("invalid socket");WSACleanup();return -1;}sockaddr_in sa;sa.sin_family = AF_INET;sa.sin_addr.s_addr = inet_addr("127.0.0.1");sa.sin_port = htons(PORT_NUMBER);//选择一个端口号if (bind(nSocket,(sockaddr *)&sa,sizeof(sa)) < 0) //绑定{closesocket(nSocket);return -1;}listen(nSocket,2);sockaddr_in addr_client;int nAddrLen = sizeof(addr_client); SOCKET nSock = accept(nSocket,(sockaddr *)&addr_client,&nAddrLen);while(TRUE){if (INVALID_SOCKET == nSock){printf("failure to accept");continue;}char tmp[MAX_BUF_SIZE] = {0};char buf[MAX_BUF_SIZE] = {0};const char *pBuffer = "the server recvie the infromation\n";send(nSock, pBuffer, strlen(pBuffer), 0);int nRecv = recv(nSock, buf, MAX_BUF_SIZE, 0);if (nRecv > 0){printf("%s\n",buf); } } closesocket(nSock);return 0;}
Client端:
#include <Winsock2.h>#include <stdio.h>#include <iostream>#pragma comment(lib,"ws2_32.lib")#define MAX_BUF_SIZE 1024#define PORT_NUMBER 11234int main(){WSADATA wSaData;WORD dwSockVersion = MAKEWORD(2,2);if (0 != WSAStartup(dwSockVersion,&wSaData)) //协商版本号{printf("Arrange Version Failure");return -1;}SOCKET nSocket;nSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); //创建TCP socketif (INVALID_SOCKET == nSocket){printf("invalid socket");WSACleanup();return -1;}sockaddr_in sa;sa.sin_family = AF_INET;sa.sin_addr.s_addr = inet_addr("127.0.0.1"); // accept the local IPsa.sin_port = htons(PORT_NUMBER);if ( 0 != connect( nSocket,( const SOCKADDR * )&sa, sizeof(sa) ) )return -1;char buf[MAX_BUF_SIZE] = {0};char tmp[MAX_BUF_SIZE] = {0};strcpy(tmp,"this is Client!");int nRecv = 0; const char *pClientBuffer = "sent a Message to the server"; int nSend = send(nSocket, pClientBuffer, strlen(pClientBuffer), 0); while(nSend != 0) { nRecv = recv(nSocket, buf, MAX_BUF_SIZE, 0); if (nRecv > 0) { printf("%s\n",buf); std::cout << "Input the Client Message: " << std::endl; std::cin >> tmp; nSend = send(nSocket, tmp, (int)strlen(tmp), 0); if(nSend != 0) { int i = WSAGetLastError(); int j = 0; } } else{ break; } }closesocket(nSocket);WSACleanup();return 0;}
0 0
- socket编程,先来个简单的TCP例子吧
- linux socket编程以及简单的tcp,udp的例子
- Linux下socket TCP的简单例子
- Linux下的TCP Socket简单例子
- Linux下的TCP Socket简单例子
- Linux下socket TCP的简单例子
- socket的TCP通信简单例子
- Linux下的TCP Socket简单例子
- Linux下的TCP Socket简单例子
- [C++] Windows下的socket编程(这是一个简单的TCP/IP例子)
- [C++] Windows下的socket编程(这是一个简单的TCP/IP例子)
- 3个学习Socket编程的简单例子:TCP Server/Client, Select
- Java TCP/IP Socket 编程 笔记—TCP的例子
- linux tcp socket简单例子
- 简单的tcp socket编程及分析
- 简单的tcp socket编程及分析
- vc socket tcp编程的简单实例
- socket编程之简单的TCP服务器
- Matlab数值按位操作
- ruby and 和 && 是不同的
- 基于 OSGi 和 Spring 开发 Web 应用
- 乱世英雄吕不韦
- 网页设计的发展前景
- socket编程,先来个简单的TCP例子吧
- Cocoapad 安装 使用
- 数据结构-交换排序-冒泡排序
- Android 高仿微信实时聊天 基于百度云推送
- 软件开发进度表
- XHTML与HTML区别是什么?
- next_permutation函数
- android中openMax的实现
- 笔记:gradle