您的位置:首页 > 编程语言 > C语言/C++

C++ Socket编程之小试牛刀

2016-05-24 21:13 531 查看
名义上学了C++已经1年多了,从底层API玩起到高层MFC的使用,基于Cocos2d-x游戏引擎也算是开发过几款端游和一些手游了。不过那段时间做的都是单机游戏,对于c++网络这块几乎没有接触过,今天突然有此想法,就利用一点时间玩了下socket编程,做了个建议的单向聊天demo。

先来个效果图,界面确实丑,关键看内涵~



-客户端方面的几个步骤

1.先启动WinSock

//启动WinSock
WSAData wsaData;
iErrMsg = WSAStartup(MAKEWORD(1,1),&wsaData);


2.构造socket

其中AF_INET指IPV4网络协议的套接字类型,AF_INET6是IPV6的

m_sock = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);


3.配置数据(地址和端口)

//目标服务器数据
sockaddr_in sockaddrServer;
sockaddrServer.sin_family = AF_INET;
sockaddrServer.sin_port = port;
sockaddrServer.sin_addr.s_addr = inet_addr(address);


4.连接服务器

//连接,sock与目标服务器连接
iErrMsg = connect(m_sock,(sockaddr*)&sockaddrServer,sizeof(sockaddrServer));


-服务端:

服务端前3步和客户端一致,只是第4步需要调正为如下操作:

绑定监听操作:

//绑定
iErrorMsg = bind(m_sock,(sockaddr*)&serverAddr,sizeof(serverAddr));


-数据的发送与接收

数据的发送

//发送消息,指定sock发送消息
iErrMsg = send(m_sock,msg,len,0);


数据的接收

//接收信息
newSocket = accept(m_sock,(sockaddr*)&tcpAddr,&len);


上面就是今天做了的简单回顾,刚开始写写这些博客,简单记录下最近学的,写得有点乱,希望自己能慢慢进步。下次再结合多线程做一个类QQ的聊天小软件来玩玩,巩固下C++知识。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  socket C++