// test_Socket.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
/*
客户端编程的步骤:
1:加载套接字库,创建套接字(WSAStartup()/socket());
2:向服务器发出连接请求(connect());
3:和服务器端进行通信(send()/recv());
4:关闭套接字,关闭加载的套接字库(closesocket()/WSACleanup())。
*/
void main()
{//查询时有有可用的Winsock2.dll
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,流式SOCKET
SOCKET sockSrv=socket(AF_INET, SOCK_DGRAM, 0);;
//配置监听地址和端口
SOCKADDR_IN addrSrv;
SOCKADDR_IN addrfrom;
int fromlen = sizeof(addrfrom);
addrSrv.sin_addr.S_un.S_addr=inet_addr("192.168.1.12");
addrSrv.sin_family=AF_INET;
addrSrv.sin_port=htons(60090);
//服务端:绑定监听SOCKET
bind(sockSrv,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));
listen(sockSrv,5); // 系统队列有5个空位可以放未决请求
// SOCKADDR_IN addrClient;
// int len=sizeof(SOCKADDR);
while(1)
{//服务端:等待客户端接入
//SOCKET sockConn=accept(sockSrv,(SOCKADDR*)&addrClient,&len);
char Buf[50] = "/0";
printf("waiting for message from others--------\n");
//sprintf(Buf,"Welcome %s to here!",inet_ntoa(addrClient.sin_addr));
if (recvfrom(sockSrv,Buf,sizeof(Buf),0,(SOCKADDR*)&addrfrom,&fromlen)!=SOCKET_ERROR)
{
printf("Received datagram from %s--%s\n",inet_ntoa(addrfrom.sin_addr),Buf);
//给客户端发消息
char *sendbuf = "welcome";
sendto(sockSrv,sendbuf,lstrlenA(sendbuf),0,(SOCKADDR*)&addrfrom,fromlen);
}
Sleep(500);
//send(sockConn,sendBuf,strlen(sendBuf)+1,0);
//char recvBuf[50];
//recv(sockConn,recvBuf,50,0);
//printf("%s\n",recvBuf);
//closesocket(sockConn);
}
closesocket(sockSrv);
}
test_Socket.rar_socket
版权申诉
175 浏览量
2022-09-24
21:35:25
上传
评论
收藏 1KB RAR 举报
局外狗
- 粉丝: 66
- 资源: 1万+
最新资源
- 129335283047061xiazaigongjuxiang(去重软件).apk
- Android环境检测工具,检测ksu,lsp,magisk等
- WordPress后台美化插件QuarterAdmin分享
- PCB_Project单片机绘制 (2024-5-11 22-22-13).zip
- nccl-local-repo-ubuntu2204-2.21.5-cuda12.4-1.0-1-amd64
- STM32移植LVGL源码工程 stm32移植GUI-Guider源码 LVGL移植源码
- Screenshot_20240522_084328_com.tencent.mm.jpg
- 附件计算机专业课选课说明-1.xlsx
- 基于TypeScript的ahousepet-admin-web管理系统设计源码
- 《广东开放大学学习指引》期末考核要求0522.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈