建立客户端和服务端首先要了解基本的流程:
一:服务端 二:客户端
开启服务器,创建套接字(ip:port) 监听该套接字 socket可发起连接请求,创建套接字
(循环,事件) 建立一个通道
建立多个通道 (循环)socket 会话(循环)
会话(数据传递)(循环) 关闭(断开连接)
关闭会话(断开连接)
socket在四层协议中的位置
socket协议的交互流程
我 使用第三方软件eclipse,先建立一个工程PyDev Project(可自己命名),在此工程目录下建立PyDev Packaget(可自己命名),继而建立PyDev Modulet(可自己命名)在此环境中写代码
接下来要开始socket编程了,先写一个简单的客户端-服务端并运行。
注意在这个环境下写代码前要加上:# -*- coding: utf-8 -*- 目的是防止你输入汉字时产生乱码
同时按CTRL键和鼠标右键可以进入详细的socket解析界面,这里大约有800行代码,如下图:
写号代码后再自己的电脑上进入cmd,ping刚好写好Tcp/ip的地址。如图:
补充一下老师教给我们的一些零碎的知识:
tcp服务主要涉及Threading TcpServer和StreamRequestHandle两类,第一个用于创建服务,监听端口,第二个用于连接接受及会话处理及结束处理,有三个重载的方法:setup,handle,finish
我直接用python socket编程
遇到的问题及解决办法:1,eclipse第三方软件不知怎样使用,找不到所需要的工程环境,请求同学的帮助后才知道是自己python路径没有在eclipse中,把安装好的python引入到eclipse中便可以使用了
2,在编写代码时总是出错,对tcp/ip协议完全不懂,在老师的催促下自己大量查找了资料,同学帮助下一点点理解,一点点修改最最终完成,一些tcp/ip协议的知识点在上一张已经详细总结过
ng