急问,window下,实现一最简单socket通信,不要界面?

anshetal 2004-12-22 11:49:11
必须至少要包含哪些头文件,只要select,send,recv函数
能用就行。明个急着交差,在此拜托各位了。

解决后立即散发。
...全文
43 点赞 收藏 2
写回复
2 条回复
bluestone 2004年12月23日
以下是示例代码,需要自己整理一下。

client:

BYTE acBuff[255];
BYTE acIpAddress[35]=("127.0.0.1");
SOCKADDR_IN Cli;

Cli.sin_addr.s_addr=inet_addr((char*)acIpAddress);

Cli.sin_family=AF_INET;

Cli.sin_port=htons(6000); // port

SOCKET CliSock = socket(AF_INET,SOCK_STREAM,0);

while(connect(CliSock,(SOCKADDR *)&(Cli),sizeof(Cli)))
{

}

int iRecvFlag=recv(CliSock,(char*)acBuff,255,0);
if(SOCKET_ERROR != iRecvFlag)
{
acBuff// data...
}
closesocket(CliSock);
-------------------------------------------------
server:
SOCKET Sock;
SOCKET MsgSock;
SOCKADDR_IN Serv;

Serv.sin_addr.s_addr=inet_addr(TEXT("127.0.0.1"));
Serv.sin_family=AF_INET;
Serv.sin_port=htons(5000);

int iAddlen=sizeof(Serv);

Sock=socket(AF_INET,SOCK_STREAM,0);
bind(Sock,(SOCKADDR*)&Serv,iAddlen);

MsgSock = accept( Sock,(SOCKADDR *)&( Serv ),&( iAddlen ));

recv(MsgSock,acbuff,255,0);

acbuff// data...

closesocket(MsgSock);
closesocket(Sock);

//发送 在MsgSock联接后
send(MsgSock,acBuff,255,0);



回复 点赞
HunterForPig 2004年12月23日
客户端:
#pragma comment(lib,"ws2_32.lib")
#include<winsock2.h>
#include<stdio.h>
void main()
{
WSADATA wsaData;
WSAStartup(MAKEWORD(2,2),&wsaData);
SOCKET connSock=socket(AF_INET,SOCK_STREAM,0);
SOCKADDR_IN servAddr;
servAddr.sin_family=AF_INET;
servAddr.sin_port=htons(9878);
servAddr.sin_addr.s_addr=inet_addr("127.0.0.1");

connect(connSock,(SOCKADDR*)&servAddr,sizeof(SOCKADDR_IN));
char buf[11];
recv(connSock,buf,11,0);//连上后,可直接接受信息
printf("%s",buf);
}

服务器端:

#pragma comment(lib,"ws2_32.lib")
#include<winsock2.h>
void main()
{
WSADATA wsaData;
WSAStartup(MAKEWORD(2,2),&wsaData);
SOCKET servSock,cliSock;
SOCKADDR_IN servAddr;
servAddr.sin_family=AF_INET;
servAddr.sin_port=htons(9878);
servAddr.sin_addr.s_addr=htonl(INADDR_ANY);
servSock=socket(AF_INET,SOCK_STREAM,0);
bind(servSock,(SOCKADDR*)&servAddr,sizeof(SOCKADDR_IN));
listen(servSock,5);
while(true)
{
cliSock=accept(servSock,NULL,NULL);//当客户机连接上后就可以直接发信息
send(cliSock,"hello world",11,0);
}
}
回复 点赞
发动态
发帖子
网络编程
创建于2007-09-28

7880

社区成员

6.4w+

社区内容

VC/MFC 网络编程
社区公告
暂无公告