vc++ 6.0可以用C语言做socket编程吗?文件名要.c。在线等。
- C/C++ code
#include <stdio.h>#include <Winsock2.h>#pragma comment (lib,"ws2_32.lib") void main(){ 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 sockSrv=socket(AF_INET,SOCK_STREAM,0); SOCKADDR_IN addrSrv; addrSrv.sin_addr.S_un.S_addr=htonl(INADDR_ANY); addrSrv.sin_family=AF_INET; addrSrv.sin_port=htons(6000); bind(sockSrv,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR)); listen(sockSrv,5); SOCKADDR_IN addrClient; int len=sizeof(SOCKADDR); while(1) { SOCKET sockConn=accept(sockSrv,(SOCKADDR*)&addrClient,&len); char sendBuf[50]; sprintf(sendBuf,"Welcome %s to here!",inet_ntoa(addrClient.sin_addr)); send(sockConn,sendBuf,strlen(sendBuf)+1,0); char recvBuf[50]; recv(sockConn,recvBuf,50,0); printf("%s\n",recvBuf); closesocket(sockConn); }}这段代码保存成.cpp可以在VC++6.0运行。保存成.c就编译不通过了。
如果我想保存成.c的,应该怎么修改啊?
在线等。
[解决办法]
VC++不知道行不行,你可以装个GCC试试
[解决办法]
其实没必要改成.c,.cpp也可以是C代码
[解决办法]
当然可以
[解决办法]
[解决办法]
- C/C++ code
#include <stdio.h>#include <Winsock2.h>#pragma comment (lib,"ws2_32.lib") void main(){ WORD wVersionRequested; WSADATA wsaData; int err; SOCKET sockSrv; SOCKET sockConn; SOCKADDR_IN addrSrv; SOCKADDR_IN addrClient; char sendBuf[50]; char recvBuf[50]; int len; wVersionRequested = MAKEWORD( 1, 1 ); err = WSAStartup( wVersionRequested, &wsaData ); if ( err != 0 ) { return; } if ( LOBYTE( wsaData.wVersion ) != 1 || HIBYTE( wsaData.wVersion ) != 1 ) { WSACleanup( ); return; } sockSrv = socket(AF_INET,SOCK_STREAM,0); addrSrv.sin_addr.S_un.S_addr = htonl(INADDR_ANY); addrSrv.sin_family = AF_INET; addrSrv.sin_port = htons(6000); bind(sockSrv,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR)); listen(sockSrv,5); len = sizeof(SOCKADDR); while(1) { sockConn = accept(sockSrv,(SOCKADDR*)&addrClient,&len); sprintf(sendBuf,"Welcome %s to here!",inet_ntoa(addrClient.sin_addr)); send(sockConn,sendBuf,strlen(sendBuf)+1,0); recv(sockConn,recvBuf,50,0); printf("%s\n",recvBuf); closesocket(sockConn); }}
[解决办法]
SOCKET不是类