
vc++ socket编程求助
这个程序编译通过了,可是为什么对话框监听的内容是一对乱码,非常不解,哪位达人帮忙看看?最好有编译好的程序,我的邮箱是marshal-rommel@qq.com谢谢各位了!...
这个程序编译通过了,可是为什么对话框监听的内容是一对乱码,非常不解,哪位达人帮忙看看?最好有编译好的程序,我的邮箱是marshal-rommel@qq.com 谢谢各位了!
#include <conio.h>
#include <stdlib.h>
#include <winsock2.h>
#include <stdio.h>
#pragma comment(lib, "ws2_32")
//加载头文件,加载winsock2.h头文件,加载ws2_32静态库
void main()
{
SOCKET socket0;
WORD wVersionRequested;//版本号
WSADATA wsaData;
int wrong;
wVersionRequested = MAKEWORD( 1, 1 );//1.1版本的套接字
wrong = WSAStartup( wVersionRequested, &wsaData );
if (wrong != 0 )
{
return;
}//加载套接字库,加裁失败则返回
if ( LOBYTE( wsaData.wVersion ) != 1 ||
HIBYTE( wsaData.wVersion ) != 1 )
{
WSACleanup( );
return;
}//如果不是1.1则退出
socket0=socket(AF_INET,SOCK_DGRAM,0);//创建套接字(socket)
struct sockaddr_in server;
server.sin_family=AF_INET;
server.sin_port=htons(6000); //定义要连接的服务器端点
server.sin_addr.s_addr=(INADDR_ANY);//转换Unsigned short为网络字节序的格式
bind(socket0,(struct sockaddr*)&server,sizeof server);//将套接字绑定到一个本地地址和端口上
while(1)
{
char buffer[255];
recvfrom(socket0,buffer,sizeof buffer,0,NULL,NULL);//接收
printf("%s\n",buffer);
}
closesocket(socket0);//关闭套接字
} 展开
#include <conio.h>
#include <stdlib.h>
#include <winsock2.h>
#include <stdio.h>
#pragma comment(lib, "ws2_32")
//加载头文件,加载winsock2.h头文件,加载ws2_32静态库
void main()
{
SOCKET socket0;
WORD wVersionRequested;//版本号
WSADATA wsaData;
int wrong;
wVersionRequested = MAKEWORD( 1, 1 );//1.1版本的套接字
wrong = WSAStartup( wVersionRequested, &wsaData );
if (wrong != 0 )
{
return;
}//加载套接字库,加裁失败则返回
if ( LOBYTE( wsaData.wVersion ) != 1 ||
HIBYTE( wsaData.wVersion ) != 1 )
{
WSACleanup( );
return;
}//如果不是1.1则退出
socket0=socket(AF_INET,SOCK_DGRAM,0);//创建套接字(socket)
struct sockaddr_in server;
server.sin_family=AF_INET;
server.sin_port=htons(6000); //定义要连接的服务器端点
server.sin_addr.s_addr=(INADDR_ANY);//转换Unsigned short为网络字节序的格式
bind(socket0,(struct sockaddr*)&server,sizeof server);//将套接字绑定到一个本地地址和端口上
while(1)
{
char buffer[255];
recvfrom(socket0,buffer,sizeof buffer,0,NULL,NULL);//接收
printf("%s\n",buffer);
}
closesocket(socket0);//关闭套接字
} 展开
2个回答
展开全部
char buffer[255] = {0};
while(1)
{
memset(buffer, 0, sizeof(buffer));
recvfrom(socket0,buffer,sizeof buffer,0,NULL,NULL);//接收
printf("%s\n",buffer);
}
你就会看到你的乱码是怎么来的了。你的客户端程序呢?
都没有客户端给你的服务器发消息,哪里来的接收?
while(1)
{
memset(buffer, 0, sizeof(buffer));
recvfrom(socket0,buffer,sizeof buffer,0,NULL,NULL);//接收
printf("%s\n",buffer);
}
你就会看到你的乱码是怎么来的了。你的客户端程序呢?
都没有客户端给你的服务器发消息,哪里来的接收?
2011-05-04
展开全部
你吧buffer初始化下就没有乱码了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询