CP Socket编程 C/C++实现 (Windows Platform SDK)
来源:互联网 发布:家庭ktv点歌软件 编辑:程序博客网 时间:2024/05/21 09:18
CP Socket编程 C/C++实现 (Windows Platform SDK)收藏
C语言TCP程序中的Hello World。以前一直用OO语言,现在用C语言写着玩,思想上有点转不过来弯,o(∩_∩)o...Server:
#pragma comment(lib, "ws2_32.lib")Client:
#include <Winsock2.h>
#include <stdio.h>
void main()
{
//版本协商
WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD(1,1); //0x0101
err = WSAStartup(wVersionRequested,&wsaData);
if(err!=0)
{
return;
}
if(LOBYTE(wsaData.wVersion)!=1 || HIBYTE(wsaData.wVersion)!=1)
//wsaData.wVersion!=0x0101
{
WSACleanup();
return;
}
//创建Socket
SOCKET sockSvr = socket(AF_INET,SOCK_STREAM,0);
//创建IP地址和端口
SOCKADDR_IN addrSvr;
addrSvr.sin_addr.S_un.S_addr = htonl(INADDR_ANY);
addrSvr.sin_family = AF_INET;
addrSvr.sin_port = htons(6000);
//绑定端口监听
bind(sockSvr,(SOCKADDR*)&addrSvr,sizeof(SOCKADDR));
listen(sockSvr,5);
sockaddr_in addrClient;
int len = sizeof(sockaddr);
while(true)
{
//阻塞方法,获得一个客户Socket连接
SOCKET sockConn = accept(sockSvr,(sockaddr*)&addrClient,&len);
char sendbuffer[128];
sprintf(sendbuffer,"Welcom %s!",inet_ntoa(addrClient.sin_addr));
//向客户Socket发送数据
send(sockConn,sendbuffer,strlen(sendbuffer)+1,0);
char recvbuffer[128];
//从客户Soc接受数据
recv(sockConn,recvbuffer,128,0);
printf("%s/n",recvbuffer);
//关闭Socket
closesocket(sockConn);
}
closesocket(sockSvr);
//释放Winsock资源
WSACleanup();
}
#pragma comment (lib,"ws2_32.lib")
#include <Winsock2.h>
#include <stdio.h>
void main()
{
//版本协商
WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD(1,1); //0x0101
err = WSAStartup(wVersionRequested,&wsaData);
if(err!=0)
{
return;
}
if(LOBYTE(wsaData.wVersion)!=1 || HIBYTE(wsaData.wVersion)!=1)
//wsaData.wVersion!=0x0101
{
WSACleanup();
return;
}
//创建连向服务器的套接字
SOCKET sock = socket(AF_INET,SOCK_STREAM,0);
//创建地址信息
SOCKADDR_IN hostAddr;
hostAddr.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");
hostAddr.sin_family = AF_INET;
hostAddr.sin_port = htons(6000);
//连接服务器
connect(sock,(sockaddr*)&hostAddr,sizeof(sockaddr));
char revBuf[128];
//从服务器获得数据
recv(sock,revBuf,128,0);
printf("%s/n",revBuf);
//向服务器发送数据
send(sock,"Hello Host!",12,0);
closesocket(sock);
}
- CP Socket编程 C/C++实现 (Windows Platform SDK)
- TCP Socket编程 C/C 实现 (Windows Platform SDK)
- TCP Socket编程 C/C++实现 (Windows Platform SDK)
- UDP Socket编程 C/C++实现 (Windows Platform SDK)
- TCP Socket编程 C/C++实现 (Windows Platform SDK)
- TCP Socket编程 C/C++实现 (Windows Platform SDK)
- UDP Socket编程 C/C++实现 (Windows Platform SDK)
- UDP Socket编程 C/C++实现 (Windows Platform SDK)
- TCP socket编程 C/C++实现(windows platform SDK)
- TCP/UDP Socket编程 C/C++实现(Windows Platform SDK)
- Mutex线程同步 (C/C++ Windows Platform SDK 实现)
- Critical Section 线程同步 (C/C++ Windows Platform SDK 实现)
- C实现socket编程
- cp命令C实现
- 【Socket编程】套接字Windows平台C语言实现
- SOCKET编程(C语言实现)
- Linux C编程连载(1)-cp的实现
- Linux C编程连载【1】-cp的实现
- 快速判断远程主机是否活动
- 现在出现一个使用msxml获取属性值的麻烦
- 一个资深SOHO程序员对新人的建议
- 什么是 DLL?
- 用LoadLibrary和GetProcAddress函数调用dll的代码有问题
- CP Socket编程 C/C++实现 (Windows Platform SDK)
- 报表ReportViewer显示图片--rdlc
- 我的青春谁做主--精彩语录
- 打印自身源代码的程序,一个通用方法
- 如何用vc创建和读取xml文件??
- 解读C++声明
- WINCE600的目录组织及PQOAL
- 当心编译器生成的隐含成员函数
- 怎么在vmware下linux实现上网