C++ Socket编程之小试牛刀
2016-05-24 21:13
531 查看
名义上学了C++已经1年多了,从底层API玩起到高层MFC的使用,基于Cocos2d-x游戏引擎也算是开发过几款端游和一些手游了。不过那段时间做的都是单机游戏,对于c++网络这块几乎没有接触过,今天突然有此想法,就利用一点时间玩了下socket编程,做了个建议的单向聊天demo。
先来个效果图,界面确实丑,关键看内涵~
![](https://img-blog.csdn.net/20160524205213440)
-客户端方面的几个步骤
1.先启动WinSock
2.构造socket
其中AF_INET指IPV4网络协议的套接字类型,AF_INET6是IPV6的
3.配置数据(地址和端口)
4.连接服务器
-服务端:
服务端前3步和客户端一致,只是第4步需要调正为如下操作:
绑定监听操作:
-数据的发送与接收
数据的发送
数据的接收
上面就是今天做了的简单回顾,刚开始写写这些博客,简单记录下最近学的,写得有点乱,希望自己能慢慢进步。下次再结合多线程做一个类QQ的聊天小软件来玩玩,巩固下C++知识。
先来个效果图,界面确实丑,关键看内涵~
-客户端方面的几个步骤
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++知识。
相关文章推荐
- java-模拟tomcat服务器
- Linux socket 初步
- 使用C++实现JNI接口需要注意的事项
- 关于指针的一些事情
- c++ primer 第五版 笔记前言
- java socket 注意的地方
- java socket 注意的地方
- share_ptr的几个注意点
- C#基于socket模拟http请求的方法
- Lua中调用C++函数示例
- Lua教程(一):在C++中嵌入Lua脚本
- Lua教程(二):C++和Lua相互传递数据示例
- 简单的Ruby中的Socket编程教程
- Socket不能选择本地IP连接问题如何解决
- C#之Socket操作类实例解析
- C++联合体转换成C#结构的实现方法
- 使用C#来编写一个异步的Socket服务器
- C#使用Socket快速判断数据库连接是否正常的方法
- C++高级程序员成长之路
- C++编写简单的打靶游戏