通信总结(1)

通信阶段总结(一)
关于通信,通信进行的是程序与程序之间的交流
计算机在网络中的地址称为ip地址 而程序位于每个计算机的不同端口 要完成通信 必须知道要连接的程序的端口号


端口号:每个计算机都有0~65535个端口号 通常前1024个尽量避免使用 称为”知名端口"

第一步 首先创建一个服务器对象
ServerSocket server=new ServerSocket(9090);
这就好像买了一部电话 号码是9090
然后要做的就是把电话号码告诉大家
Socket client=server.accept();
这样就进入了一个等待状态:阻塞状态
就相当于在接起电话 可能有两种情况 一是你说一句话 二是等待别人说话
在这里 我对于client的理解是电话及内部的cpu 它控制着电话的输入与输出
通过Socket getOutputStream() getInputStream()方法分别得到输出与输入语句
就相当于电话把 把声音转化为电流 电流转化为声音
我们说出的话是怎样变成电流的呢
在通信的过程中是
通过
String s="要说的话";
把话的字符串转换为字节放入一个数组中
byte[] data=s.getBytes();
out.write(data);
out.flush();
我们能够听到声音就归功于听筒
in=ins.read();


但是这样服务器就会在进行关闭 所以要用到while()循环让每次客户机说完话后 服务器自动进入accept状态


下面是关于字符串的输入问题
初始状况是你每输入一个字符系统都会响应一次,这是不方便的 所以的话一般情况下我们要定义一个字符串缓冲区
StringBuffer stb=new StringBuffer();
设定系统先将读到的字符放入字符缓冲区中 当读到某个特定字符或字符串时在进行发送


一般服务器都可以连接多台客户机 所以我们要用到线程来解决
继承到Thread 当每次有一个客户机与服务器连接时 服务器都启动一个线程与客户机进行连接


下面是在学习中遇到的一些重点


1.对于阻塞状态 某些进入阻塞状态的方法只有等到特定动作发生后才能继续进行 这样会影响到后继方法的调用 所以对于会发生阻塞状态的代码 一般都要放进独立的线程中去执行

2.程序代码中的封装思路 封装是面向对象的一大特性但是对于如何封装 为何封装都需要在实践中自己体会 封装的典型思路:方法的设计要考虑以后变化的需求

3.内存泄露问题 当某些存放在队列中的线程退出后 并没有从保存它的队列中移除 所以在测试时往往不能体现出来 如果应用到某些大访问量的服务器 则很快就会导致内存溢出 所以要在程序中定义一个从队列中移除的方法
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值