C++ Socket编程之小试牛刀

来源:互联网 发布:江汉大学网络支付平台 编辑:程序博客网 时间:2024/06/03 23:02

名义上学了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++知识。

0 0
原创粉丝点击