本系列文章详细介绍使用 .net core 和 WPF 开发 升讯威在线客服与营销系统 的过程。本产品已经成熟稳定并投入商用。

免费使用 & 私有化部署:https://kf.shengxunwei.com


视频实拍:演示升讯威在线客服系统在网络中断,直接禁用网卡,拔掉网线的情况下,也不丢消息,不出异常。

https://blog.shengxunwei.com/Home/Post/fe432a51-337c-4558-b9e8-347b58cbcd53


随着系统的用户越来越多,陆续有客户向我提出反馈意见,关于访客 IP 地址定位的问题,之前我用的是百度 IP 定位的 API 接口,这种方式有几个比较大的问题:

  • 需要实名注册认证百度账户。
  • 只能定位国内IP地址,国外不支持。
  • 只有1000次/天的使用额度,有用户访客量较大之后,就只能显示成未知来源了。

随时用户的增多,特别是有些用户的访客量会话量很大,调用百度API定位也出现了明显的性能不足,并且百度限制了并发数量,不能并发请求。

只有一个办法,彻底放弃百度IP接口,通过离线IP数据库,自主查询定位了。本篇将详细介绍实现办法。

老规矩,先看看实现效果,已经可以定位海外IP:


下载安装 GeoIP

所谓 GeoIP,就是通过来访者的IP, 定位他的经纬度,国家/地区,省市,甚至街道等位置信息。这里面的技术不算难题,关键在于有个精准 的数据库。有了准确的数据源就奇货可居赚点小钱,可是发扬合作精神,集体贡献众人享用是我们追求的。

第一步:下载 GeoIP 库

访问 GeoIP 官网下载离线文件:https://geoip.com

下载后上传到部署Nginx所在的服务器,上传方式可以使用wscp等。我上传的目录为Centos7.6服务器的 /usr/local/share/GeoIP,上传成功后,执行如下命令解压

cd /usr/local/share/GeoIP
tar -zxvf GeoIP-1.4.8.tar.gz

第二步:编译,安装

执行如下命令

cd /usr/local/share/GeoIP/GeoIP-1.4.8
./configure && make && make install

第三步:配置 Nginx

首先进入Nginx文件夹sbin下查看是否已经安装了GeoIP模块

./configure --prefix=/usr/local/nginx --with-http_geoip_module && make && make install

使用 GeoIP 定位

GeoIP + PHP的使用

include("geoip.inc.php");
// 打开数据文件
$gi = geoip_open("GeoIP.dat",GEOIP_STANDARD);
// 获取国家代码
$country_code = geoip_country_code_by_addr($gi, $_SERVER['REMOTE_ADDR']);
echo "Your country code is: $country_code ";
// 获取国家名称
$country_name = geoip_country_name_by_addr($gi, $_SERVER['REMOTE_ADDR']);
echo "Your country name is: $country_name ";
// 关闭文件
geoip_close($gi);

完工!

最后安利一下我这个程序员业余肝出来的产品,在线使用和完整下载私有化部署都是免费的,希望对你有用,谢谢!

免费使用 & 私有化部署:https://kf.shengxunwei.com

私有化版下载地址与版本说明:

https://docs.shengxunwei.com/Post/f7bc8496-14ee-4a53-07b4-08d8e3da6269/553293a8-dfa1-4282-bc3f-96c6c623fc9a


支持请点个赞吧~ 谢谢!

.net core 和 WPF 开发升讯威在线客服系统:使用本地IP数据库实现访客来源快速定位,支持国外的更多相关文章

  1. .net core 和 WPF 开发升讯威在线客服与营销系统:背景和产品介绍

    本系列文章详细介绍使用 .net core 和 WPF 开发 升讯威在线客服与营销系统 的过程.本产品已经成熟稳定并投入商用. 在线演示环境:https://kf-m.shengxunwei.com ...

  2. .net core 和 WPF 开发升讯威在线客服与营销系统:系统总体架构

    本系列文章详细介绍使用 .net core 和 WPF 开发 升讯威在线客服与营销系统 的过程.本产品已经成熟稳定并投入商用. 在线演示环境:https://kf.shengxunwei.com 注意 ...

  3. .net core 和 WPF 开发升讯威在线客服与营销系统:(插曲)一次端口攻击行为的分析与应对

    本系列文章详细介绍使用 .net core 和 WPF 开发 升讯威在线客服与营销系统 的过程.本产品已经成熟稳定并投入商用. 在线演示环境:https://kf.shengxunwei.com 注意 ...

  4. .net core 和 WPF 开发升讯威在线客服与营销系统:使用 WebSocket 实现访客端通信

    本系列文章详细介绍使用 .net core 和 WPF 开发 升讯威在线客服与营销系统 的过程.本产品已经成熟稳定并投入商用. 在线演示环境:https://kf.shengxunwei.com 注意 ...

  5. .net core 和 WPF 开发升讯威在线客服与营销系统:使用 TCP协议 实现稳定的客服端

    本系列文章详细介绍使用 .net core 和 WPF 开发 升讯威在线客服与营销系统 的过程.本产品已经成熟稳定并投入商用. 在线演示环境:https://kf.shengxunwei.com 注意 ...

  6. .net core 和 WPF 开发升讯威在线客服与营销系统:使用线程安全的 BlockingCollection 实现高性能的数据处理

    本系列文章详细介绍使用 .net core 和 WPF 开发 升讯威在线客服与营销系统 的过程.本产品已经成熟稳定并投入商用. 在线演示环境:https://kf.shengxunwei.com 注意 ...

  7. .net core 和 WPF 开发升讯威在线客服与营销系统:实现对 IE8 的完全完美支持 【干货】

    本系列文章详细介绍使用 .net core 和 WPF 开发 升讯威在线客服与营销系统 的过程.本产品已经成熟稳定并投入商用. 在线演示环境:https://kf.shengxunwei.com 注意 ...

  8. .net core 和 WPF 开发升讯威在线客服系统:怎样实现拔网线也不丢消息的高可靠通信(附视频)

    本系列文章详细介绍使用 .net core 和 WPF 开发 升讯威在线客服与营销系统 的过程.本产品已经成熟稳定并投入商用. 在线演示环境:https://kf.shengxunwei.com 注意 ...

  9. .net core 和 WPF 开发升讯威在线客服系统【私有化部署免费版】发布

    希望 .net 和 WPF 技术时至今日,还能有一些存在感. 这个项目源于2015年前后,当时开发的初版,我使用了 ASP.NET MVC 做为后端,数据库使用原生 ADO.NET 进行操作.WPF ...

  10. .net core 和 WPF 开发升讯威在线客服系统:把 .Net Framework 打包进安装程序

    本系列文章详细介绍使用 .net core 和 WPF 开发 升讯威在线客服与营销系统 的过程. 系列文章目录: https://blog.shengxunwei.com/Home/Post/44a3 ...

随机推荐

  1. 重庆邮电大学第十一届ACM程序设计竞赛-网络选拔赛 C题

    1008: 偷袭 时间限制: 1.000 sec 内存限制: 128 MB 武林要以和为贵,张麻子不讲武德来偷袭马老师的亲传弟子. 马老师有n个亲传弟子,每个弟子有一个武力值a[i]. n个弟子中只有 ...

  2. Oracle job的用法

    1.Broken()过程更新一个已提交的工作的状态,典型地是用来把一个已破工作标记为未破工作. 这个过程有三个参数:job .broken与next_date. PROCEDURE Broken (j ...

  3. 【UE4 C++】Actor 与 Component —— 创建、销毁

    Actor的生成与销毁 创建Actor实例 UClass* TSubclassOf<T> SpawnActor() UPROPERTY(EditAnywhere, Category = & ...

  4. 《基于SIRS模型的行人过街违章传播研究》

    My Focus: 行人违章过街 这一行为的传播与控制 Behavior definition in this paper: 人在生活中表现出来的生活态度及具体的生活方式 Title: Researc ...

  5. 计算机网络传输层之TCP可靠传输

    文章转自:https://blog.csdn.net/weixin_43914604/article/details/105524592 学习课程:<2019王道考研计算机网络> 学习目的 ...

  6. 利用Nginx搭建Ambari本地安装源

    1.下载本地源包https://docs.hortonworks.com/HDPDocuments/Ambari-2.7.3.0/bk_ambari-installation/content/ch_o ...

  7. MVC下垃框的使用

    --------------模型-------------------- /// <summary> /// 状态 /// =0 下架 =1 上架 /// </summary> ...

  8. Swift-技巧(三)使用元组(tuple)

    最近看 iOS 的官方功能的 Demo 时,发现代码中使用元组的地方很多,所以兴趣上来,查了下元组的出处. 在苹果的文档中就只有简短的两句,使用元组创建一个组合的值,从函数中返回多个值.元组中的可以使 ...

  9. ELK集群之metricbeat(9)

    Metricbeat包的安装及简单使用 Metricbeat包的安装及简单使用 系统数据采集 Python -> ES -> Grafana metricbeat的安装 metricbea ...

  10. sqlalchemy mysql server has gone

    mixing multiprocessing and SQLAlchemy is a bad idea. In general your processes should each contain a ...