王珂 发表于 2015-12-8 10:59:28

【跟我一起学python】2.实现TCP服务器

本帖最后由 xiaoye 于 2016-1-10 22:11 编辑

                              ==============================
                              |                           作者:i3esn0w                      |
                              ++++++++++++++++++++++++++++++
                              |                           博客:此处和谐    |
                              ++++++++++++++++++++++++++++++
                              |                转载请注明出处                                 |
                              ==============================

此系列前提是看着已经有了python的基础语法知识,这个我想应该没什么问题,现在网上的python的教程也是一百度就一大堆,所以在此不在谈论基础,请各位读者自行补充基础知识

按照惯例还是先来看一段代码:
    #encoding:utf-8
   
    import socket
   
    if __name__=="__main__":
      target_host="0.0.0.0"
      target_port=8888
      server=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
      server.bind((target_host,target_port))
      server.listen(5)
      client,addr=server.accept()
      text=client.recv(1024)
      client.send('hello you are')
      print text
      print addr


首先我们定义了需要监听的IP地址以及端口,这里的0.0.0.0表示监听所有地址,如果需要监听指定IP上的端口,可以在这里设置

然后依旧是创建一个套接字,然后需要将这个套接字绑定在我们需要监听的地址上面,紧接着可以连接的客户端的最大数量,这里为5个,看者可以按照自己的需求自己定义,然后调用accept方法,这个方法会返回客户端的句柄(这里我不知道应该怎么称呼这个东西,VC是叫做句柄,所以这里我也叫它做句柄,如果看者觉得这里有什么问题可以告诉我)

然后就是调用客户端句柄进行接受数据,发送数据的操作了

来看一下运行(客户端可以使用已经写好的那个,稍作修改就可以使用了)
https://www.isbug.net/wp-content/uploads/2015/12/QQ%E6%88%AA%E5%9B%BE20151207203429-288x300.png
然后看一下客户端返回的结果
https://www.isbug.net/wp-content/uploads/2015/12/QQ%E6%88%AA%E5%9B%BE201512072034291-300x292.png
可以看到已经成功返回
当然这里仅仅是一个最简单的通讯,如果看者需要实现更复杂的功能,如一个聊天室之类的应用程序,可以在这段程序上在做修改,比如加上多线程之类的


Sty,涛 发表于 2015-12-9 10:37:34

支持中国红客联盟(ihonker.org)

fireworld 发表于 2015-12-9 17:16:50

学习学习技术,加油!

borall 发表于 2015-12-10 08:42:24

支持,看起来不错呢!

yusiii 发表于 2015-12-11 01:22:28

学习学习技术,加油!

H.U.C-麦麦 发表于 2015-12-11 17:31:56

支持,看起来不错呢!

Micah 发表于 2015-12-11 17:51:49

支持,看起来不错呢!

xiaoqqf4 发表于 2015-12-11 22:14:05

54hacker 发表于 2015-12-12 02:58:16

Jack-5 发表于 2015-12-12 04:12:17

感谢楼主的分享~
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 【跟我一起学python】2.实现TCP服务器