Day18-总结

import socket

1.什么是socket

'''
socket又叫套接字,指的是实现网络通信的两端
'''

2.服务器套接字

'''
1)创建套接字对象(买电话机)
socket(self, family=AF_INET, type=SOCK_STREAM)
family - 设置ip类型,AF_INET - ipv4 AF_INET6 - ipv6
type - 设置传输协议类型:SOCK_STREAM - TCP传输协议;SOCK_DGRAM - UDP传输协议
2)绑定IP和端口(插电话线)
bind(address) - 绑定地址
address - 元组,(ip地址,端口)
ip地址 - 通过ip地址可以确定互联网中唯一的一台计算机
运行服务器程序的计算机的ip地址
端口 - 用来区分同一台计算机中的不同服务(数字)
范围是0-65535,其中0-1024是著名端口,不能随便使用
3)开始监听,同时设置最大在线客户端个数(设置同时在线人数)
4)让服务器一直处于启动状态
'''

server = socket.socket()
server.bind(('10.7.160.58', 1244))
server.listen(3)

while True:
# 5)接收请求(接电话),返回建立的连接和客户端地址
# 注意:当代码执行到这儿的时候,程序会停下来,直到有客户端给当前服务器发送请求为止
connection, addr = server.accept()

# 6)接收客户端的发送的消息(听电话)
'''
recv(一次性能够接收的最大值) - 返回值的数据是二进制
二进制数据和字符串的转换
二进制转字符串:str(二进制,encoding='utf-8')
               二进制.decode(encoding='utf-8')
'''
python```
re_data = connection.recv(1244)
# re_message = str(re_data, encoding='utf-8')
re_message = re_data.decode(encoding='utf-8')
print(re_message)
```
# 7)发送消息
'''
send(发送数据) - 发送数据的类型是二进制
字符串转二进制方法
bytes(字符串,编码方法)
字符串.encode()
'''
```python
# send_data = bytes('hello', encoding='utf-8')
send_data = 'hello'.encode()
connection.send(send_data)
```
# 8)关闭连接
connection.close()

import socket

1.创建套接字对象

client = socket.socket()

2.连接服务器

'''
connect((服务器ip, 服务器端口))
'''
client.connect(('10.7.160.73', 8000))

3.发送消息

client.send('hello'.encode())

4.接收消息

re_data = client.recv(1244)
print(re_data.decode(encoding='utf-8'))

5.关闭连接

client.close()

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 网络编程 一.楔子 你现在已经学会了写python代码,假如你写了两个python文件a.py和b.py,分别去运...
    go以恒阅读 6,483评论 0 6
  • """author = Zard"""import socket 1.什么是socket socket 又叫套接字...
    Zard泉水阅读 1,288评论 0 0
  • 大纲 一.Socket简介 二.BSD Socket编程准备 1.地址 2.端口 3.网络字节序 4.半相关与全相...
    VD2012阅读 7,395评论 0 5
  • 01.recode 1.正则符号 a.匹配字符.\w\s\d\W\S\D[字符集] \ [^字符集] b.边界检测...
    Gary134阅读 1,621评论 0 0
  • socket通信原理 socket又被叫做套接字,它就像连接到两端的插座孔一样,通过建立管道,将两个不同的进程之间...
    jiodg45阅读 4,874评论 0 1

友情链接更多精彩内容