导航:首页 > 编程语言 > winsocket编程

winsocket编程

发布时间:2022-01-21 00:09:19

‘壹’ 知道什么是WSABUF结构的请进。。。(Win Socket编程

你想多了 buf.buf = pPerIO->buf; 意思是说把pPerIO->buf这个数据缓冲区的首指针赋给buf.buf
因为buf.buf 本身是个指针,它没有分配空间

‘贰’ windows socket编程后怎样使用

mfc只是对socket进行了一些封装,大部分人做网络编程都是用的原始的socket,比如如下接口都可以在c下进行调用
1.socket()
2.bind()
3.connect()
4.listen()
5.accept()
6.send() 和recv()
7.sendto() 和recvfrom()
8.close() 和shutdown()
9.getpeername()
10.gethostname()
这些接口是在Winsock2.h中定义的不是在mfc中定义的,你只需要包含Winsock2.h头文件和Ws2_32.lib库就可以了。

‘叁’ 求winsocket编程的最简例子,C++的

#include <winsock2.h>#pragma comment(lib,"WS2_32.lib")class CSockInit
{
public:
CSockInit(BYTE minorVer=2,BYTE majorVer=2)
{
WSADATA wsaData;
WORD sockVersion=MAKEWORD(minorVer,majorVer);
if(::WSAStartup(sockVersion,&wsaData)!=0)
{
exit(0);
}
}
~CSockInit()
{
::WSACleanup();
}
};//先定义个类原来初始化WinSocket //下面是服务器端的的程序#include <stdio.h>
#include "CInitSock.h"CSockInit sockInit;
int main()
{
SOCKET sock=::socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP);
if(sock==INVALID_SOCKET)
{
printf("Failed socket\n");
return 0;
}
sockaddr_in sin;
sin.sin_family=AF_INET;
sin.sin_port=htons(4567);
sin.sin_addr.S_un.S_addr=INADDR_ANY;
if(::bind(sock,(sockaddr*)&sin,sizeof(sin))==SOCKET_ERROR)
{
printf("Failed bind\n");
return 0;
}
char buf[1024]={0};
sockaddr_in addr;
int nlen=sizeof(addr);
while (1)
{
int nRecv=recvfrom(sock,buf,1024,0,(sockaddr*)&addr,&nlen);
if(nRecv>0)
{
buf[nRecv]='\0';
printf("接收数据(%s):%s\n",::inet_ntoa(addr.sin_addr),buf);
}
}
::closesocket(sock);
} //下面是客服端的程序。 #include <stdio.h>
#include "..\CInitSock.h"
CSockInit sockin;
void main()
{
SOCKET s=::socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP);
if(s==INVALID_SOCKET)
{
printf("Failed socket()\n");
return ;
}
sockaddr_in addr;
addr.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");
addr.sin_family=AF_INET;
addr.sin_port=htons(4567);
char zstext[]="TCP server Demo!\r\n";
while (1)
{
::sendto(s,zstext,strlen(zstext),0,(sockaddr*)&addr,sizeof(addr));
scanf("%s",zstext);
}
} 这个是基于UDP/IP的。水平有点差,莫见怪,在win32平台上,Visual studio 上基本上都能运行,不用链接静态库的,只要你包含了第一个封装好了的头文件就可以了。

阅读全文

与winsocket编程相关的资料

热点内容
电脑c盘记录存在哪个文件夹 浏览:153
算法分析与设计替换方法 浏览:850
老程序员丢失手机 浏览:272
新世纪日本语pdf 浏览:85
基于单片机的数字示波器 浏览:36
登qq服务器连接中什么意思 浏览:436
表格宏命令 浏览:994
肯德基app设定在哪里 浏览:472
苹果电脑文件夹怎么添加打印机 浏览:701
pythonswagger 浏览:235
作业打卡解压素材 浏览:159
pdf导入ibooks 浏览:577
xps文件转pdf 浏览:134
怎么样获得命令方块 浏览:899
安卓studio如何改主题 浏览:933
linux自动获取ip命令行 浏览:208
做设计做程序员适合的电脑 浏览:778
网站有源码和没有源码的区别 浏览:680
如何自学开发app 浏览:595
修电梯pdf 浏览:351