服务器和客户端 tcp通信
来源:互联网 发布:知乎日报和读读日报 编辑:程序博客网 时间:2024/05/22 15:26
在vs2013的环境下,服务器代码如下:
#include <stdio.h> #include "stdafx.h"#include <winsock2.h> #pragma comment(lib, "ws2_32.lib") using namespace std;#define buffer_rev 1024#define buffer_send 1024int main(){ char buffer1[buffer_rev], buffer2[buffer_send]; //当一个应用程序调用WSAStartup函数时,操作系统根据请求的Socket版本来搜索相应的Socket库 //然后绑定找到的Socket库到该应用程序中 WORD sockversion; //winsock规范的最高版本 WSADATA wsadata; // 用来返回winsock API实现的细节信息 sockversion = MAKEWORD(2, 2); //生成版本号2.2 WSAStartup(sockversion,&wsadata); //创建服务器端监听套接字 SOCKET slisten = socket(AF_INET, SOCK_STREAM, 0); //slisten是创建的监听套接字描述符 //创建服务器端地址 struct sockaddr_in addrser; addrser.sin_family = AF_INET; // TCP/IP协议族 addrser.sin_addr.S_un.S_addr = inet_addr("0.0.0.0"); // socket对应的IP地址 addrser.sin_port = htons(1234); // socket对应的端口 //绑定套接字并监听 bind(slisten, (sockaddr*)&addrser,sizeof(addrser)); listen(slisten, 5); //客户端地址 struct sockaddr_in addrclient; int lenclient = sizeof(addrclient); while (1) //持续监听 { SOCKET sockAcpt = accept(slisten,(sockaddr*)&addrclient, &lenclient); //创建连接套接字 recv(sockAcpt, buffer1, sizeof(buffer1), 0); printf("接收到的数据是: %s", buffer1); send(sockAcpt, "hello world", strlen("hello world") + 1, 0); closesocket(sockAcpt); //关闭连接套接字 } closesocket(slisten); //关闭监听套接字 WSACleanup(); //解除与Socket库的绑定并且释放Socket库所占用的系统资源 return 0;}
服务器端代码:
// client_myself.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <stdio.h> #include <winsock2.h> #pragma comment(lib, "ws2_32.lib") using namespace std;#define buffer_send 1024#define buffer_rev 1024char buffer1[buffer_send],buffer2[buffer_rev];int main(){ WORD sockversion; WSADATA wsadata; sockversion = MAKEWORD(2, 2); WSAStartup(sockversion, &wsadata); SOCKET sockClient = socket(AF_INET, SOCK_STREAM, 0);//绑定客户端套接字 SOCKADDR_IN addrser; addrser.sin_addr.S_un.S_addr = inet_addr("127.0.0.1"); addrser.sin_family = AF_INET; addrser.sin_port = htons(1234); connect(sockClient, (sockaddr*)&addrser, sizeof(addrser));//请求连接 send(sockClient, "hello world",strlen("hello world") + 1, 0); recv(sockClient, buffer2, sizeof(buffer2), 0); printf("接收到的数据是: %s", buffer2); closesocket(sockClient); WSACleanup(); return 0;}
0 0
- 服务器和客户端 tcp通信
- TCP传输,客户端和服务器通信
- TCP传输,客户端和服务器通信
- TCP实现客户端和服务器的通信
- TCP服务器客户端进程通信
- TCP服务器客户端网络通信
- java 通过 socket 实现 服务器和客户端的通信 TCP
- Java TCP通信(服务器和客户端代码)
- 基于TCP协议实现服务器和客户端的通信程序
- LINUX下如何创建TCP客户端和服务器,实现通信
- TCP/IP通信 客户端、服务器 实例
- TCP服务器、客户端之间的相互通信
- TCP/UDP客户端服务器实现通信
- 基于TCP的服务器/客户端通信
- TCP/IP通信 客户端、服务器 实例
- TCP服务器和客户端交互
- TCP客户端和服务器介绍
- SOCKET 服务器和客户端通信
- 报表开发之批量导入导出Excel
- workqueue 学习
- HDU-1258 确定比赛名次 【模板题】
- Android 控件布局常用属性
- @media screen针对不同移动设备-响应式设计
- 服务器和客户端 tcp通信
- java的基本数据类型有哪些java的八大基本数据类型
- 求2^n-char 数组表示超大整数
- OC(一)类、对象、属性、成员变量、方法(整理)
- iOS开发从入门到精通--导航控制器基础
- 让DIV内部内容撑开外层的div方法
- 【Life】 你为什么会离开游戏行业?
- poj 2406 Power Strings kmp next数组
- liunx安装httpd服务