Back to Blog

linux 聊天室程序

#linux#多线程#服务器#编程#java#聊天

======================================= 目标 =======================================

linux环境高级编程能力(一)

用线程的方式,使用 tcp协议实现一个多人的聊天室程序。(2周)

需要实现以下功能:

1.一个服务器端程序,可对多个客户端程序。

2.可进单对单,单对多进行聊天。

3.发送文件的功能。

4.文件校验功能。

5.考察线程间通信时候的共享冲突的解决方法。

===================================================================================

一、引言

1.JAVA 界面开发 能否运行在linux下

java编译后是字节码文件,是跟平台无关性的,他是有JVM解释执行的,.class文件在哪里都可以运行

2.关于在window下编译的java 程序 能否在linux下运行?

我在window下用jdk for windows编译的程序能否在linux下的jdk for linux的环境中运行。还有在windows下运行良好的jboss,能否在linux下运行呢?

答: java编译后是字节码文件,是跟平台无关性的,他是有JVM解释执行的,.class文件在哪里都可以运行

3.java可否安装在linux下?

可以。安装方法参见:http://blog.csdn.net/yeyuangen/article/details/6728004

4.在linux平台下开发的聊天室程序,可否在windows下运行?

答:

5.什么是服务器端?服务器端程序和客户端程序有何不同?

答:服务器端要采用多线程。因为有多种任务要它来处理。

6.爱立信服务器,debug?要做些什么内容呢?

答:跟汉斌多了解,同时9月23号去听IBM培训。

7.登陆界面相关

答:帐号,密码(检索与匹配,小型数据库)

8.服务器端作用

答:转发数据

9.客户端之间如何取得联系?例如如何相互发送文件?

答:要经过服务器端的决策。

10.其它功能:抖屏,添加好友

11.如何在一台电脑上做测试?如何通过网络做测试(两台电脑)?

二、多线程通信及互斥

============

      多线程

============

1.要实现在arm上运行吗?

答:在PC机上运行即可。

2.可以用java编写吗?还是要用c?

答:用c,目的是为了熟悉多线程控制,冲突,通信等。

3.多线程要怎么弄好呢?如何更好地理解多线程?如何从应用中逐渐明白多线程理论上是如何实现的?(大脑清晰)

答:

4.通信冲突如何解决?如何有序?

三、网络编程

===========

     socket

===========

1.socket套接字编程

2.tcp

3.Network

4.socket的本质是什么?

答:是I/O,文件I/O.

5.如何熟练地使用socket?

6.关于socket有哪些关键的名词术语?入门。

7.socket如何编程实现?例程,运行一遍。有个直观认识。

8.socket编程的第一原则是什么?

四、运行例程

1.如何运行例程?

2.运行例程可以学到什么?

答:可以直观地认识线程,产生学习多线程的动力。

五、MIT实践

1.看来java实现,或者qt实现,要改变战略了:在宿舍里自己玩耍。搞个QQ出来,其实也瞒振奋人心的。