Python的Socket

来源:互联网 发布:js禁止鼠标点击事件 编辑:程序博客网 时间:2024/06/05 16:14

Socket简介Socket是进程通讯的一种方式,即调用这个网络库的一些API函数实现分布在不同主机的相关进程之间的数据交换。几个定义:
(1)IP地址:即依照TCP/IP协议分配给本地主机的网络地址,两个进程要通讯,任一进程首先要知道通讯对方的位置,即对方的IP。(
2)端口号:用来辨别本地通讯进程,一个本地的进程在通讯时均会占用一个端口号,不同的进程端口号不同,因此在通讯前必须要分配一个没有被访问的端口号。
(3)连接:指两个进程间的通讯链路。

如何编写一个Python的聊天窗口
首先我们先写一个服务器端

import socket#创建服务套接字 serversocketss =socket.socket(socket.AF_INET,socket.SOCK_STREAM)print("创建服务套接字")#服务套接字绑定主机,绑定端口号ss.bind(("localhost",9999))print("绑定端口和主机")ss.listen(5)#限制访问人数print("开始等待客户请求")#接受客户套字请求c=ss.accept();print("某个客户连接到我了")while True:    msg=c[0].recv(1024)    print(msg.decode())

我们现在就写好了一个服务器端
我们现在可以直接通过浏览器直接访问localhost
访问我们的服务器
为了更好地聊天
现在我们再写一个客户端

import  socketimport threadingss=socket.socket(socket.AF_INET,socket.SOCK_STREAM)print("创建客户套接字")ss.connect(("localhost",9999))print("连接到服务")def fasong(ss):    while True:        msg=ss.recv(1024)        print(msg.decode())threading._start_new_thread(fasong,(ss,))while True:    ww=input()    ww="扫黄大队:"+ww    ss.send(ww.encode())

好了就此结束