首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

零基础通讯入门-实践篇

2013-05-02 
零基础通信入门--实践篇public class SimpleClient {public static void main(String[] args) { } public

零基础通信入门--实践篇
public class SimpleClient { public static void main(String[] args) { } public void startClient(String IP,int port){ try { //通过IP地址与端口链接服务器获取客户端信息 Socket client = new Socket(IP, port); //创建输入输出流 InputStream is = client.getInputStream(); OutputStream os = client.getOutputStream(); String buf =""; while(buf!="bye"){ //将缓存数组buf清空 buf=""; //从服务器读取数据 int a = is.read(); //不断读取,直到遇到回车键,则判断为一句话 while(a!=13){ buf+=a; a = is.read(); } } } catch (UnknownHostException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }

????????? ?可以看出,服务器与客户端基本上实现是一致的,并且我基本上都是在读取对方的信息,而并未放给对方实用的信息,我们可以在读取后加上一句“从当前键盘上读取数据,发送给对方”的操作就可以实现聊天功能。但这个功能有很多缺陷,首先这种两天只能是“你一句,我一句”我没说完你就不能说话,这显然是不符合实际要求的。然后这是服务器与客户端的聊天 ,我们前面说过,服务器只负责接受、处理并转发信息。所以我们应该是2个客户端之间的联系。最后,这个我们的服务器只能处理一个人的请求,并不能同时处理2个人的请求,比如:2个人同时连接我们的服务器,那就服务器就不能接受,所以我们得用线程去处理每一个客户端的请求,这样才能完成多人的聊天配置。

?????????????? ?三.群聊

??????????????????????? 1.群聊的系统相对来说比较复杂,要比前面加起来的代码还要多很多。要考虑很多东西。但归根起来,也就是我上面提到的三条缺陷,当我们把这三条缺陷补充完整的时候,这个群聊模型就基本上出来了。在这里呢,我还是比较纠结的,因为如果把代码全部贴上去,那是很麻烦的,如果不呢,好像又说的不够完整。所以我将文件上传,可以自己研究研究。

????????????????四.题外话,基本上,聊天的处理已经完成,想必大家也对这个tcp的通讯过程有了一定的了解,在通讯之中,只要记住通讯的实质,也就是理论片中所提到的理论,通讯其实很简单,无处不在的感觉,此篇很粗糙,但是聊胜于无,实践实践,自己多捉摸才是硬道理。

热点排行