Python socket day1
- 客户端和服务端通过ip地址确认互相身份。(ip:用来在网络中标记一台电脑)
- 如果A,B两个人IP地址相同,接受到的信息有时候A收到,有时候B收到
- 当你用QQ时,双击选中头像其实就是选中了对方的IP地址。
- Linux等可以用ifconfig (还可以用 ifconfig XXX up/down 来操作开启/关闭网卡) ; windows 用 ipconfig
- 用IP区分电脑;用端口区分电脑里的程序,同一个程序也有不同的端口号
- UDP 相当于写信,需要IP,端口,内容 然后一起发出。不安全,甚至可能丢或者被别人收走
TCP 相当于打电话,连接时需要应答,超时后会验证,比较麻烦但是比较安全。虽然内容可能丢失,但是可以及时补救
- socket
- 流程:
- 创建套接字
- 接受/发送数据
- 关闭
- 模式:s = socket.socket(AddressFamily(协议IPV4,IPV6),Type(类型TCP,UDP)) 创建的是对象
例子:s = socket.socket(socket.AF_INET,socket.SOCK_STREAM/socket.SOCK_DGRAM)(IPV4,TCP/UDP) - s.sendto(《内容》,IP和端口(这两个要用元祖表示))
- 内容为b加字符串 如: b''hello''
- 或者 content = 'hello' 内容为 content.encode('utf-8')
- s.close() (记得关闭)
- 流程:
- 网络调试助手
- 虽然虚拟机ping不到主机,但是可以用助手发送信息(解决方法:原来是自己输错了IP 应该查看一下正确的IP的)