网络编程C/S模型怎样才能实现真正的聊天功能

学完socket编成后,就迫不及待地写一个简单的聊天程序,好在同学面前装装逼,毕竟外行看热闹。然而在自己的电脑上运行是毫无差错,发送接收都没有问题,然而将客户端的exe文件打包后发送给其他电脑上运行时程序死在了connect函数上,始终无法连接到服务器,相信小白都有过这样的经历,为之气愤不已,我也很气愤。为什么连接不上呢?

电脑的网络是通过连在路由器上实现上网的,一个路由器的覆盖范围小,也就是说一个路由器就是一个局域网,连接在不同路由器上的电脑是无法用socket直接进行通信的,一些牛逼的大佬说用打洞的技术可以实现通信,毕竟人家是大佬,咱们也只能说声大佬牛逼之外还能说啥。废话不都说,到底怎样才能实现真正的聊天功能,我们需要连接到公网IP上就能实现通信。首先申请一个云服务器(先声明一下,不是打广告,不是打广告),阿里云或者腾讯云都可以,学生申请很便宜,一个月10块钱左右,申请到服务器后会给你一个公网IP和私有IP,使用这个公网IP申请学生阿里云服务器请点击

当申请到这个服务器后该如何运行我们自己写的程序呢?这时就需要 xshell这个工具了,xshell可以远程操作服务器,也可以操作虚拟机中的linux系统,操作方法和在本机操作一样,都是用linux指令。怎么连就不说了,网上教程应有尽有。怎样才能将写好的程序上传到服务器运行呢,连接上与服务器后,输入 yum -y install lrzsz指令安装一个插件,安装完毕后,输入 rz 指令便可将指定的文件上传到当前路径下,输入 sz+文件名 便可将服务器上的文件下载到本机上。将源文件上传成功后,编译后运行起来即可。

在客户端中,sockaddr_in结构体中的IP就填云服务器的公网IP,在确保电脑连网的状态下启动客户端,便可连接云服务器,只要有网络,不管你在哪都能实现通信。

如果你还是一个单片机爱好者,有了云服务器你可以使用ESP8266、4G通信模块、GPRS模块来实现远距离通信,相信你的逼格顿时提升的就不止一点点了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值