`

通信之简单文本信息及图片发送

阅读更多

[size=x-large][/size]

 其实按大家的看法来说,通信项目是很简单的,但是对于我来说就略显复杂了。在连续弄了两个晚上之后,终于发现通信不过就那点内容罢了而已。简单的说,一个服务器,一个客户端就轻松搞定了。但是要想把通信这块做得更完美还是要下点功夫的。下面谈谈一些我近两天弄懂的一些肤浅的内容,顺便是给自己有个小小的总结吧。

首先写服务器,创建服务器ServerSocket,调用其accept()方法返回一个类似于服务器与客户端的连结对象Socket,这时程序就出现阻塞状态,直到有客户机连结进入。其次,通过Socket对象获得输入输出流,数据输入输出流。还有在这个过程中最好定义一个标志,方便控制程序的继续与发生。今天这里说的是文本信息机图片在不同的客户端的发送,所以要对信息包的概念有过了解,信息包中含信息头和信息体,消息头有4+4个byte,剩下的就是信息体,而送文件的信息体中还含有文件名的4个byte。这里了解这些事方便我们在利用输入输出流,根据我们自己定的“协议”来写入及读取文本信息及图片解析之类的。输入输出流这里要注意的是必须根据自己的想法按先后顺序写和读,否则容易出错。由于我之前缺了几次课,对有的部分不是很懂,所以代码这块真是不太懂写,就参照了强哥的,可是,我现在发现了,理解代码在于理解思路,很多时候去看别人的代码是件不容易的事情,只有自己亲身写了才会理解深透。而这点在编程时十分重要的,这也是我一直很没能做好的。

在这里,最新接触的类Vector在JDK中是一个可用于实现可增长的数组对象,意思不是太明白,大概估计了是那个用途吧。。。在发送信息时,要将字符串转为字节数组来发送,这里用到的是msg.getBytes("GB2312");的方法,意思是将msg按照GB2312的边贸格式转为byte数组。在读取信息时,则要将读取到的byte数组转为String类型,若读到的是bytes 数组名,用String content = new String(bytes,"GB2312");这个的话掌握了规则就很简单了的。

关于客户端,相对来说就简单一点,一个界面,两个按钮。这里用来显示发送的信息的用了个滚动的面板,滚动面板上加的是一个JTextPane对象,它是可以以图形方式表示的属性来标记的文本组件。让文本信息显示在上面就直接调用insertString();方法。

总的来说通信,弄懂简单的通信协议基本上就没有什么问题了。所以协议还是很重要的。

哈哈,感觉理解的思维好肤浅。慢慢来吧

分享到:
评论
1 楼 图受各种 2013-07-18  
恩,加油!

相关推荐

    [Android实例] 继人员列表,聊天的实现,包括图片,语音

    然后,服务器与客户端建立一个简单的通信协议。 如:MSG|发送人ID|2012-2-12 07:25:12|发送类型 MSG是个标识,类型包括文本(包含表情),图片,语音,位置等。 图片和语音的发送,都是通过FTP先上传文件到服务器,...

    一个简单的聊天工具,可以实现客户机和服务器间的通信

    通过c#写的简单的聊天工具。可以实现客户机和服务器之间的简单的文本聊天,不能使用图片相互发送。

    依据ASP.NET基于cs的电子邮件简单收发系统设计与实现(毕业设计源代码+论文)

    早期的电子邮件只是从一个计算机终端向另外一个计算机终端传送文本信息,而现在的电子邮件不仅可以发送文本信息,还可以传送声音、图片、文档等多种信息。很多邮件邮件客户端软件不断地被用户利用起来,例如outlook,...

    计算机专业毕设ASP.NET基于TCP协议的简单即时通信软件的设计与实现(源代码+论文).rar

    3. **实时聊天**:支持一对一聊天和群聊功能,可发送文本、图片等消息类型。 4. **消息记录**:保存用户的聊天记录,方便随时查看。 5. **系统通知**:当有新消息或好友请求时,系统会及时通知用户。 6. **安全保障*...

    基于ASP.NET+cs的电子邮件简单收发系统设计与实现毕业设计(源代码+项目报告)

    早期的电子邮件只是从一个计算机终端向另外一个计算机终端传送文本信息,而现在的电子邮件不仅可以发送文本信息,还可以传送声音、图片、文档等多种信息。很多邮件邮件客户端软件不断地被用户利用起来,例如outlook,...

    VB JPEG 图片传输程序

    VB写的一个网络点对点发送文本和图片的程序,适合简单的网络通信调试

    Linux下简易聊天软件

    在Linux的命令行下实现的简易聊天软件,可以进行群聊和私聊。分为服务器端和客户端,他们采用TCP协议进行通信。 使用方法: 首先运行Server程序,他需要带一个端口号参数(例如8888) 然后运行Client程序,他需要两个...

    [计算机毕设]基于asp.net+cs的电子邮件简单收发系统设计与实现(源代码+项目报告)

    早期的电子邮件只是从一个计算机终端向另外一个计算机终端传送文本信息,而现在的电子邮件不仅可以发送文本信息,还可以传送声音、图片、文档等多种信息。很多邮件邮件客户端软件不断地被用户利用起来,例如outlook,...

    关于socket的基于TCP协议的异步通信系统--TongXing.DLL

    4:我这里把二种发送模式分开了,一种是发送文本的,一种是发送图片数据也就是直接字节集,收到也是一样 最后祝大家事业有成,如果有什么问题及时跟我交流,呵呵,一开始肯定问题不少。有什么建仪一定要告诉我哦,...

    腾讯即时通信工具 微信 WeChat 3.1.0 中文免费版.zip

    通过手机网络发送语音、图片、视频和文字。微信目前作为通信领域用户粘度较大的办公社交工具,目前不仅仅可以用来聊天等之类。我们还可以通过微信关注微信公众号、朋友圈、开视频直播以及同时与好友互动打游戏等等。...

    Java毕业设计-java一个简单的即时通讯工具的设计与开发(源代码+论文).rar

    3. **实时通讯**:实现文本、图片和文件的实时发送与接收。 4. **聊天记录**:保存用户的聊天记录,方便随时查看。 5. **可扩展性**:采用模块化设计,便于后续功能的添加和优化。 本资源适合Java初学者或有一定...

    计算机网络EasyMail邮件接收系统-计算机网络课程大作业

    SMTP(Simple Mail Transfer Protocol, 简单邮件传输协议)和POP3(Post Office Protocol 3,邮局协议3)两个协议可以实现将网络上一段文本信息从一台计算机传输到另一台计算机上。SMTP规定如何从源地址到目的地址...

    微型办公室 v5.0.zip

    特别适合于编辑微文章、长微博,可以导出图片发布,也可以直接发送、接收可编辑文档,使即时通信不再局限于简单文本和只读图片,大大丰富了即时通信的形式和内容。同时包含XMPP即时通信客户端,可在一定程度代替传统...

    易语言 茶凉专用模块

    本模块可以编程更简单,仅仅用核心支持库编写。 @备注: 官方论坛:http://bbs.clrje.cn/ 官方QQ群:92716369 ------------------------ -------------------------- ------------------------------ .版本 2 .子...

    史上最牛!使用java实现的高仿微信内网通讯程序(含源码)

    内容概要:使用JAVAFX实现的仿微信即时通讯软件,使用简单方便,主要功能有:消息发送接收(文本、图片、文件、表情),消息发送后撤回,支持私聊和群聊,具有屏幕截图发送,群成员管理,更改个人头像,历史消息管理...

    java源码包---java 源码 大量 实例

    发送消息,同时对文本进行少量修改,发送end-of-messages消息,最后关闭连接。 Tcp服务端与客户端的JAVA实例源代码 2个目标文件 摘要:Java源码,文件操作,TCP,服务器  Tcp服务端与客户端的JAVA实例源代码,一个简单...

    Java源码包100个设计实例.zip

    Java半透明图片实现的步骤及源代码.rar Java右键弹出菜单源码 Java吃豆子游戏源代码.rar Java图片加水印,支持旋转和透明度设置 Java圆形按钮实例代码,含注释 Java圆形电子时钟源代码 Java多用户聊天室程序(毕业...

    最新Python3.5零基础+高级+完整项目(28周全)培训视频学习资料

    Socket通信案例消息发送与接收 第8周 上节回顾 Socket实现简单的ssh客户端 Socket实现简单的ssh服务端 积极思考正能量 Socket实现简单的ssh2 Socket粘包 Socket粘包深入编码 SocketServer SocketServer多并发 多...

    java源码包2

    发送消息,同时对文本进行少量修改,发送end-of-messages消息,最后关闭连接。 Tcp服务端与客户端的JAVA实例源代码 2个目标文件 摘要:Java源码,文件操作,TCP,服务器  Tcp服务端与客户端的JAVA实例源代码,一个...

Global site tag (gtag.js) - Google Analytics