TCP(SOCKETS)编程 C/C++实现
通信
Server:
#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 0;
}
if(LOBYTE(wsaData.wVersion)!=1 || HIBYTE(wsaData.wVersion)!=1) //wsaData.wVersion!=0x0101
{
WSACleanup();
return 0;
}
//创建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();
return 0;
}
client:
#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 = WSAStar
相关文档:
当尝试从文件读入字符时,getc()函数会返回EOF,所以程序会在下一次读取时才会发现文件结尾。此时程序在试图读取空文件,可能会发生一些问题。所以应当在循环入口处进行判断。
int ch;
FILE * fp;
fp = fopen ("test","r");
while ((ch = getc(fp) != EOF)
{
putchar (ch);
} ......
1.引言
本文的写作目的并不在于提供C/C++程序员求职面试指导,而旨在从技术上分析面试题的内涵。文中的大多数面试题来自各大论坛,部分试题解答也参考了网友的意见。
许多面试题看似简单,却需要深厚的基本功才能给出完美的解答。企业要求面试者写一个最简单的strcpy函数都可看出面试者在技术上究竟达到了怎样的 ......
有些网友经常询问:在VC++中如何访问javascript中的对象、函数、变量等元素?
这里把以前发表的一系列文章集中在一起,方便查阅。
vc++访问javascript(1)--window在脚本引擎中的作用
http://blog.csdn.net/pimshell/archive/2008/08/02/2758863.aspx
vc++访问javascript(2)--IDispatchEx是动态脚本语言的基础&nb ......
上周老板分下来6个职位软件开发方面的职位给我,要我按职位要求寻找合适的人才。居然是C/C++!据我所知,在人才库中,JAVA 人才倒是应有尽有,学C的,还是嵌入式开发的可真的好少啊。我又不是女娲,难道我会造人才么?要求条件还这么高!
以下是大连软件园几家知名外企委托我们招聘的职位信息。
Position 1 软件开发工程师 ......