网络分成服务端和用户端。
一、服务端
1.首先,需要在.pro文件里面加上network这个模块,否则用不了网络。
2.引入所需的头文件以及实例化TCP对象
3.绑定服务器信息
二、用户端
1.在.pro文件里面加上network这个模块,否则用不了网络。
2.引入所需的头文件以及实例化TCP对象
3.用户端连接服务端的操作(服务器ip地址可以通过cmd命令执行ipconfig查看,端口号一般是1024 - 49151之间)
三、实现效果(注意:必须先运行服务器再运行用户端)
1.服务器检测到有新用户连接上来
2.服务器发送数据给用户端
3.用户端发送数据给服务器
四、拓展
此文章只进行了一对一连接,即一个服务器对一个用户进行连接,在实际应用中肯定不可能是一对一的,有可能是一个服务器对多个用户端的,就像游戏一样。有一个方法是sender(),这个方法返回的是发送信号过来的对象,获取出来后就可以知道这个对象发送了什么数据给服务器了,具体操作不难,结合dynamic_cast<>()这个安全转换类型的方法使用。sender()获取出来的是Object*指针对象,再使用dynamic_cast<>()方法安全转换成用户端的类即可。如果要这样做的话,就需要在newSocketConnection这个槽函数中,每次有新用户连接上来就new一个socket,然后再connect,这样做,才能保证每一个socket都是独立的。