zoukankan      html  css  js  c++  java
  • socket流程

    socket确实比较乱,所以整理流程。

    服务端:

    1、import socket  引入模块

    2、创建socket对象。server = socket.socket()

    3、声明服务端的ip地址和端口号。ip_prot = ('192.168.12.97',8096)  # 本机作为服务器的话,ip地址就是本机地址,端口号必须在8000以后。

    4、绑定socket对象和声明的ip地址及端口号。server.bind(ip_prot)  #这应该是固定写法?

    5、开始通过socket对象的listen方法监听ip地址和端口。server.listen(参数)  #这里这个参数据说不用给,参数的意思是可以有多少等待的,而不是有多少可以同时接通的。

    6、等着别人联通过来。conn,addr = server.accept()  # 这的conn就是拿到的客户端和服务器之间的连接通道。这个通道很重要。下面很多操作是通过这个进行的。

    7、接收收到的信息。from_client_msg = conn.recv(1024)   # 这里的1024必须给出一个数字,因为收到的是字节码,所以单位是B。1024B = 1KB,1024KB = 1MB。注意这里是使用conn这个连接通道来接收的信息。

    8、进行解码。from_client_msg = from_client_msg.decode('utf-8')   # 因为收到的是字节码,所以必须解码。

    9、打印输出收到的信息。print(from_client_msg)

    10、给对方回信。msg = input('这里是你想说的话:')   # 输入你的信息给对方回信

    11、通过conn的send方法给对方发信息。conn.send(msg.encode('utf-8'))   # 因为i发送的是字节码,所以必须进行编码。

    12、关闭连接通道。conn.close()   # 这只是关闭连接通道

    13、关闭socket对象。server.close()   

    以上7至11步可以在一个while循环内,这样就能接一句发一句的进行对话了。

    客户端:

    前两步同服务端,引入socket模块,实例化socket对象。

    import socket

    client = socket.socket()

    3、注明服务器的ip地址和端口号。server_ip_port = ('192.168.12.97'),8096    # 注意ip地址和端口号一定要和服务端的一样。

    4、连接到服务端。client.connect(server_ip_port)    # 这里是通过socket对象client的connect方法,连通到声明好的服务端。

    while循环开始

    5、通过client的send方法发消息。client.send(input('你想对服务端说的话:').encode('utf-8')    # 发消息用send方法,因为发送的是字节码,所以必须进行编码。

    6、接收服务端传回的消息。from_server_msg = client.recv(1024).decode('utf-8')  # recv就i是收信息,而且必须声明一个参数。收到的字节码必须进行解码。

    7、打印输出收到的信息。print(from_server_msg)

    循环结束

    8、关闭socket对象,通话结束。   client.close()

  • 相关阅读:
    第二十二篇 正在表达式 re模块
    机器学习 —— 概率图模型(推理:采样算法)
    机器学习 —— 概率图模型(推理:MAP)
    机器学习 —— 概率图模型(推理:团树算法)
    机器学习 —— 概率图模型(推理:消息传递算法)
    第二次读书会的思考
    机器学习 —— 概率图模型(推理:变量消除)
    机器学习 —— 概率图模型(马尔科夫与条件随机场)
    机器学习 —— 概率图模型(CPD)
    机器学习 —— 概率图模型(贝叶斯网络)
  • 原文地址:https://www.cnblogs.com/wjywinner/p/10422337.html
Copyright © 2011-2022 走看看