再读C++ Primer 写了个小例子——网络编程
来源:互联网 发布:c语言的发展前景 编辑:程序博客网 时间:2024/05/16 18:34
再读C++ Primer 写了个小例子——网络编程
#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.zhangdali.org",inet_ntoa(addrClient.sin_addr));
send(sockConn,sendBuf,strlen(sendBuf)+1,0);
char recvBuf[100];
recv(sockConn,recvBuf,100,0);
printf("%s ",recvBuf);
closesocket(sockConn);
}
}
#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.zhangdali.org",inet_ntoa(addrClient.sin_addr));
send(sockConn,sendBuf,strlen(sendBuf)+1,0);
char recvBuf[100];
recv(sockConn,recvBuf,100,0);
printf("%s ",recvBuf);
closesocket(sockConn);
}
}
- 再读C++ Primer 写了个小例子——网络编程
- 再读C++ Primer 写了个小例子——模板类的操作
- 再读C++ Primer 写了个小例子——友员类的操作
- 再读C++ Primer 写了个小例子——多线程
- 再读C++ Primer 写了个小例子——运算符重载(08-01-17)
- 再读C++ Primer 写了个小例子——模板的操作(08-01-18)
- 再读C++ Primer 写了个小例子——实现stack类的压栈弹栈功能(08-12-10)
- 再读C++ Primer 写了个小例子——练习多态虚函数的特性(08-01-25)
- 再读C++ Primer 写了个小例子(08-01-16)
- 再读C++ Primer 写了个小例子——实现Vector类的自动添加元素功能(08-12-10)
- 再读C++ Primer 写了些小例子来熟悉C++基本语法
- 再读C++Primer
- c写了个通用链表带了例子。
- 网络编程小例子
- Zookeeper客户端编程趣味小例子——网络聊天
- 再读Socket编程——《UNIX网络编程(卷一)》学习点滴
- python网络编程小例子
- python网络编程小例子
- Mac osX下的Xcode编程
- unicode
- 凝聚力就是竞争力
- 学习VC++深入浅出——网络通讯编程
- 如何使一个批处理软件开机自动运行
- 再读C++ Primer 写了个小例子——网络编程
- 解析extern
- Tapestry4常用的注入对象
- 网友聚会解答
- window.open()参数列表
- 闲谈 Web 图片服务器
- C++学习笔记(17)——虚函数与构造函数、析构函数
- 赢得创投资金出资的七招式
- [记录]由Virtools的设计想到的实体系统...