网络安全编程_面向连接的套接字_C/S模式

这篇博客介绍了如何使用面向连接的套接字(TCP协议)实现C/S模式下的客户端与服务器之间的通信。通过Windows Socket API(Winsock)在C++中编写了客户端和服务器端的代码示例,展示了如何初始化套接字、建立连接、发送和接收数据,以及关闭和清理套接字资源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通过此程序,可以简单的实现客户端跟服务端之间的通信,基于面向连接(TCP协议)的套接字。

所需函数说明:

服务器端:

WSAStartup() //初始化套接字

socket() //创建套接字

bind() //绑定套接字

listen() // 监听套接字,是否有客户端连接请求

accept() //接收客户端请求

recv() //接收数据

send() //发送数据

WSACleanup() //释放套接字


客户端:

WSAStartup() //初始化套接字

socket() //创建套接字

connct() // 连接服务器,成功后即可收发数据

recv() //接收数据

send() //发送数据

WSACleanup() //释放套接字


下面是代码的实现:

客户端:


// Client.cpp : 定义控制台应用程序的入口点。
//


#include "stdafx.h"
#include<WinSock2.h>
#pragma comment(lib,"ws2_32.lib")


int _tmain(int argc, _TCHAR* argv[])
{


WSADATA wsaData;//初始化套接字函数的参数
SOCKET ClientSocket;//客户端自己的套接字
SOCKADDR_IN ServerAddr;//服务器地址信息

int ServerPort = 8888;//连接服务器8888端口
char ServerIPAddr[50] = "127.0.0.1";//127.0.0.1这个IP地址代表本机
char *SendData = "Hello World";//发送数据
char ReceiveBuffer[1024] = "";//接收数据缓冲区
int SendLength = 1;
int Result = -1;


if(Result = WSAStartup(MAKEWORD(2 ,1) ,&wsaData) != 0)//初始化套接字
{
printf("WSAStartup error, %d" ,Result);
return -1;
}


//绑定套接字,第一个参数指定IP地址类型为IPV4,第二个为数据流,第三个为TCP协议
ClientSocket = socket(AF_INET ,SOCK_STREAM ,IPPROTO_TCP);
if(ClientSocket < 0)
{
printf("socket failed ,%d\n" ,WSAGetLastError());
return -1;
}


memset(&ServerAddr ,0 ,sizeof(ServerAddr));//套接字清零。
ServerAddr.sin_family = AF_INET;/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值