这两天主要是对项目进度的一个推进,和一点socket通信,现在的局面有点陷入僵持,客户端和服务端有点分离不开,socket编程根本不熟悉,客户端和服务端有点混在一起写了,看了几篇博客,就他讲的我都懂,我也知道客户端和服务端是怎么样的一个情况,知道什么是c/s模式,但是就是不知道怎么去实现,所以这周是必须打破这个僵局的,搞定这个问题,后面就好写很多了。
实现邮箱发送
这里是踩了几个坑的,首先是“授权码”,我开始给授权码打了备注,所以我在QQ邮箱里面看见的授权码只是我打的备注,然后我就在应该写授权码的那里写了我给授权码打的备注的名字,嘎嘎错,所以不要打备注直接复制授权码然后直接粘贴在需要的位置就行。然后是验证码这里,得到验证码和点击按钮开启下一步的先后顺序很重要,一定要先分析清楚再写,开始就一直显示验证码不正确,那是因为我接到验证码之后才能填写验证码,但是如果顺序反了的话,就会在我填写验证码之前就把验证码文本框中的内容读出来,那在比较的时候就肯定是错的。
还有一个关键性的错误就是引包,邮箱是要引两个包的,但是一般开始写都会只引其中一个包,然后就会嘎嘎错,我当时就在这里卡了很久,因为只引了一个包,然后就找不到我要用到的包。
socket通信
这就是socket通信最简单的形式,建立连接,保持通信,关闭连接,我选择的是TCP协议,安全可靠。有一个要注意的点就是一定要先开服务端再开客户端。
测试程序结果如下:
这只是一个非常非常基础的测试程序,只能客户端发一条,然后服务器发一条,然后客户端发一条,不能一次性多条发送,如果发两条的话,接收方必须也发两条才能接收到,而且服务端是被动接受的,也就是说,只有我客户端需要服务端的时候,客户端才会和服务端建立连接。
其实这里的知识点因为高中学过一点所以不是很难理解,但是实现就比较困难了,上手不是很容易,搞了一整天,今天基本上就都在搞socket通信,也就是刚刚才出了点结果,这里确实是比较难的一环。
明天会把我已经写好的代码,把它的客户端和服务端给分离,然后给它的客户端和服务端建立连接。