知识简结:
网络编程:在两台不同的计算机间传递数据
服务器端:存储/处理数据
URL:统一的资源定位
ip地址:唯一标识某一台电脑
DNS服务器:域名解析 将www.baidu.com类型的域名解析为对应的ip地址
search 对应的后台程序文件
' ? '表示运行这个程序需要传递的参数
如果有多个参数,使用&符号链接
端口号:唯一标识这台电脑上的一个程序
数据传输:TCP/IP协议
TCP:面向链接,安全的
UDP:面向无链接的,不安全,但快网络中的数据传输:socket 实现->套接字
Socket:客户端
ServerSocket:服务器端
搭建一个简单的客户端-服务器端模拟交互程序:
Test 1:
模拟客户端:只接收服务器端传输的数据
模拟服务器端 :只向客户端发送数据
交互结果:
Test 2:
模拟客户端:既能接受服务器端发出的数据也能向服务器端发送数据
模拟服务器端:既能向客户端发送数据也能接受客户端传输的数据
交互结果服务器端:
交互结果客户端;
搭建使用手动输入数据进行传输的简单交互程序:
模拟客户端:只接收服务器端发送的数据:
模拟服务器端:只从终端接收数据并发送给客户:
传输结果显示:
服务器端输入:
客户端输出:
从客户端向服务端发送图片:
客户端操作:
服务器端操作:
传输结果显示:
实现客户端和服务器端的对聊:
//客户端和服务器端都可以随意发送内容,实现对聊 -> 从终端输入
客户端:
主线程:接收终端输入;
子线程:将终端的输入发送到服务器;接收服务器端发送的数据
服务器端:
主线程:接收终端输入
子线程:将终端输入发送给客户端;接收客户端发送的数据
对聊结果显示如下:
利用客户端与服务器端简单实现群聊:
客户端实现:
服务器端实现:
今日总结:为什么感觉今天的学习内容相比之前要有趣的多,虽然只是跟着敲了几遍代码,虽然还是有很多知识点不能消化理解,不知道是我的英语变差了,还是逻辑能力不够。随随便便已经过去了半个多月了,感觉自己学习劲头还不足够,好像每天过下来,即没有努力认真的踏实感,也没有水平高出以前的收获感,好像唯一进步的是自己的打字水平。。。有时候感觉每天都是艰难期,学什么都觉着没有准备好似的。时日还勉强足够,希望自己勉强也要继续认真下去。