C\C++ 网络编程

xiangweixing 2008-10-23 03:00:25
在C\C++中如何网络编程,有实例代码的来
...全文
64 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
小马喝水 2008-10-23
  • 打赏
  • 举报
回复
//服务器
#include<Winsock2.h>
#include<stdio.h>

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[100];
sprintf( sendBuf, "Welcome %s to http://www.sunxin.org!",
inet_ntoa( addrClient.sin_addr ) );

//发送数据
send( sockConn, sendBuf, strlen( sendBuf )+1, 0 );

char recvBuf[100];
//接收数据
recv( sockConn, recvBuf, 100, 0 );

//打印接收的数据
printf( "%s\n", recvBuf );

//关闭套接字
closesocket( sockConn );
}

}

//客户端
#include<Winsock2.h>
#include<stdio.h>

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 sockClient = socket( AF_INET, SOCK_STREAM, 0 );

SOCKADDR_IN addrSrv;
addrSrv.sin_addr.S_un.S_addr = inet_addr( "127.0.0.1" );
addrSrv.sin_family =AF_INET;
addrSrv.sin_port = htons( 6000 );

//向服务器发出连接请求
connect( sockClient, (sockaddr *) &addrSrv, sizeof(sockaddr) );

//接收数据
char recvBuf[100];
recv( sockClient, recvBuf, 100, 0 );

printf( "%s\n", recvBuf );

//发送数据
send( sockClient, "This is lisi", strlen("This is lisi")+1, 0 );

//关闭套接字
closesocket( sockClient );

WSACleanup();
}

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧