故里归长安. 2022-05-08 13:14 采纳率: 100%
浏览 19
已结题

python搭建一个基于TCP的服务器

实现地理位置编码,域名到IP的解析。没有一点思路,会的同学可以讨论一下吗?

  • 写回答

1条回答 默认 最新

  • 吕布辕门 后端领域新星创作者 2022-05-08 14:19
    关注

    地理位置正向解码:

    def positivedecoding(address):#地理位置正向解码
        base = 'http://api.map.baidu.com/geocoding/v3/'
        path = '{}?address={}&ak=GtuMeau2AjP6AQIDhkXbPU95ptUlb5FK&output=json'.format(base, quote_plus(address))
        connection = http.client.HTTPConnection('api.map.baidu.com')
        connection.request('GET', path)
        rawreply = connection.getresponse().read()
        reply = rawreply.decode('utf-8')
        return reply
    
    
    def reversedecoding(location):#地理位置反向解码
        base = 'http://api.map.baidu.com/reverse_geocoding/v3/'
        path = '{}?location={}&ak=GtuMeau2AjP6AQIDhkXbPU95ptUlb5FK&output=json'.format(base, quote_plus(location))
        connection=http.client.HTTPConnection('api.map.baidu.com')
        connection.request('GET',path)
        rawreply=connection.getresponse().read()
        reply=json.loads(rawreply.decode('utf-8'))
        return (reply['result']['formatted_address'])
    
    
    def lookup(url):#域名解析
        aa=socket.getaddrinfo(url,None)
        return aa
    
    

    通过main参数调用,首先判断是服务器还是客户端,如果是服务器就传入两个参数,一个是服务器ip,另外一个是服务器的端口号。如果是客服端那么就要传入四个参数,一个是服务器ip,一个是服务器端口号,一个是选择何种服务参数以及需要查询的数据

    首先通过终端将四个参数传入到客户端,先把选择何种服务的长度传入服务器,再把何种服务内容经过json转化,把对象发送给服务器。然后客户端再把需要查询数据的长度发送给服务器,再把查询的内容使用json格式把对象发送给服务端。

    服务器先接收何种服务,如果接收的何种服务是location或address或DNS一种,那么相应的数据块就会接收传入的查询数据,如果没有就不会接收,并发给客户端说没有该服务。有对应的服务就会将得到数据进行加解密或dns解析,在将得到的结果数据发送给客服端。

    客服端就会得到相应的数据,或者提示服务器没有提供该服务。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 5月17日
  • 已采纳回答 5月9日
  • 创建了问题 5月8日

悬赏问题

  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)