Socket简介Socket是进程通讯的一种方式,即调用这个网络库的一些API函数实现分布在不同主机的相关进程之间的数据交换。几个定义:
(1)IP地址:即依照TCP/IP协议分配给本地主机的网络地址,两个进程要通讯,任一进程首先要知道通讯对方的位置,即对方的IP。(
2)端口号:用来辨别本地通讯进程,一个本地的进程在通讯时均会占用一个端口号,不同的进程端口号不同,因此在通讯前必须要分配一个没有被访问的端口号。
(3)连接:指两个进程间的通讯链路。
如何编写一个Python的聊天窗口
首先我们先写一个服务器端
import socket
#创建服务套接字 serversocket
ss =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 socket
import threading
ss=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())
好了就此结束