java基础学习之网络编程总结!.doc

java基础学习之网络编程总结!.doc

ID:57586498

大小:338.55 KB

页数:9页

时间:2020-08-27

java基础学习之网络编程总结!.doc_第1页
java基础学习之网络编程总结!.doc_第2页
java基础学习之网络编程总结!.doc_第3页
java基础学习之网络编程总结!.doc_第4页
java基础学习之网络编程总结!.doc_第5页
资源描述:

《java基础学习之网络编程总结!.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、一、网络基础概念首先理清一个概念:网络编程!=网站编程,网络编程现在一般称为TCP/IP编程。二、网络通信协议及接口三、通信协议分层思想四、参考模型五、IP协议每个人的电脑都有一个独一无二的IP地址,这样互相通信时就不会传错信息了。IP地址是用一个点来分成四段的,在计算机内部IP地址是用四个字节来表示的,一个字节代表一段,每一个字节代表的数最大只能到达255。六、TCP协议和UDP协议TCP和UDP位于同一层,都是建立在IP层的基础之上。由于两台电脑之间有不同的IP地址,因此两台电脑就可以区分开来,也就可以互相通话了。通话一般有两种通话方式:第一种是T

2、CP,第二种是UDP。TCP是可靠的连接,TCP就像打电话,需要先打通对方电话,等待对方有回应后才会跟对方继续说话,也就是一定要确认可以发信息以后才会把信息发出去。TCP上传任何东西都是可靠的,只要两台机器上建立起了连接,在本机上发送的数据就一定能传到对方的机器上,UDP就好比发电报,发出去就完事了,对方有没有接收到它都不管,所以UDP是不可靠的。TCP传送数据虽然可靠,但传送得比较慢,UDP传送数据不可靠,但是传送得快。七、Socket编程一般的网络编程都称为Socket编程,Socket的英文意思是“插座”。两台电脑都安装上一个插座,然后使用一根线

3、的两端插到两台电脑的插座上,这样两台电脑就建立好了连接。这个插座就是Socket。因为互相之间都能互相通信,我说你是我的Server只是从逻辑意义上来讲,我应该把东西先发到你那里去,然后由你来处理,转发。所以你叫Server。但从技术意义上来讲,只有TCP才会分Server和Client。对于UDP来说,从严格意义上来讲,并没有所谓的Server和Client。TCP的Server的插座就叫ServerSocket,Client的插座就叫Socket。两台计算机互相连接,那么首先必须得知道它们的IP地址,但是只提供IP地址是不够的,还必须要有连接的端口

4、号,也就是要连接到哪个应用程序上。端口号是用来区分一台机器上不同的应用程序的。端口号在计算机内部是占2个字节。一台机器上最多有65536个端口号。一个应用程序可以占用多个端口号。端口号如果被一个应用程序占用了,那么其他的应用程序就无法再使用这个端口号了。记住一点,我们编写的程序要占用端口号的话占用1024以上的端口号,1024以下的端口号不要去占用,因为系统有可能会随时征用。端口号本身又分为TCP端口和UDP端口,TCP的8888端口和UDP的8888端口是完全不同的两个端口。TCP端口和UDP端口都有65536个。八、TCPSocket通信模型九、S

5、ocket使用范例服务器端ServerSocket1importjava.net.*;2importjava.io.*;3publicclassTestServerSocket{4publicstaticvoidmain(Stringargs[])throwsException{5ServerSocketss=newServerSocket(6666);6/*创建一个ServerSocket对象时往往会给它指定一个端口号7指定端口号的意思是这个new出来的ServerSocket对象要使用的8是哪一个端口号,通过哪一个端口号来监听客户端的连接9因此指定

6、一个端口号的意义就是为了告诉计算机ServerSocket对象10在哪个地方监听客户端的连接*/11/*服务器端接收客户端连接的请求是不间断地接收的,所以服务器端的12编程一般都是死循环,永不休止地运行着。*/13while(true){14Sockets=ss.accept();15/*在服务器端调用accept()方法接受客户端的连接对象,accept()方法是16一个阻塞式方法,一直在傻傻地等待着是否有客户端申请连接上来17然后服务器端的Socket插座就和客户端的Socket插座建立了连接了*/18/*客户端能否连接上服务器端,取决于服务器端是

7、否接受客户端的连接请求19如果接受了客户端的连接请求,那么在服务器端就安装上一个Socket插座20通过这个插座与连接上的客户端就可以建立连接,互相通信了*/21System.out.println("AClientConnected!");22/*使用InputStream流接收从客户端发送过来的信息,使用DataInputStream数据流处理接收到的信息*/23DataInputStreamdis=newDataInputStream(s.getInputStream());24/*使用readUTF(方法将接收到的信息全部读取出来,存储到变量s

8、tr里面25readUTF()方法也是一个阻塞式方法,会傻傻地等待客户端发送信息过来,然后将接

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。