java套接字编程分析

java套接字编程分析

ID:36224138

大小:70.63 KB

页数:8页

时间:2019-05-07

java套接字编程分析_第1页
java套接字编程分析_第2页
java套接字编程分析_第3页
java套接字编程分析_第4页
java套接字编程分析_第5页
资源描述:

《java套接字编程分析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、JAVA套接字(Socket)编程分析班级:11计科6班姓名:叶创建学号:201141402601一、TCP套接字编程功能:服务端启动后,客户端往服务端发送小写字母,服务端返回大写字母。newSocket();创建套接字对象客户端服务端程序框图:newSocketServer();创建套接字服务建立连接创建输出流newOutputStreamWriter(),从键盘录入字母accept();获得Socke对象,并监听客户端newBufferedReader()获得输入流newBufferedReader)获得输入流,打印字母toUpperCase()转换为大写字母if客户

2、端发送OVERclose()关闭套接字newPrintWriter()创建输出流,输出大写字母if客户端发送OVERclose()关闭套接字TCP服务端程序代码:classTransServer{publicstaticvoidmain(String[]args)throwsException{ServerSocketssk=newServerSocket(10001);//创建Socket服务Socketsk=ssk.accept();//获取客户端Socket对象Stringip=sk.getInetAddress().getHostAddress();//获取客户端

3、IPSystem.out.println(ip+"isconnected...");BufferedReaderbufIn=newBufferedReader(newInputStreamReader(sk.getInputStream()));//获得输入流对象PrintWriterout=newPrintWriter(sk.getOutputStream(),true);//获得输出流对象Stringline=null;while((line=bufIn.readLine())!=null){System.out.println(line);out.println(l

4、ine.toUpperCase());//转换成小写}sk.close();ssk.close();}}TCP客户端程序代码:classTransClient{publicstaticvoidmain(String[]args)throwsException{Socketsk=newSocket("localhost",10001);BufferedReaderbufr=newBufferedReader(newInputStreamReader(System.in));PrintWriterout=newPrintWriter(sk.getOutputStream(),

5、true);BufferedReaderbufIn=newBufferedReader(newInputStreamReader(sk.getInputStream()));Stringline=null;while((line=bufr.readLine())!=null){if("over".equals(line))//over结束对话{break;}System.out.println(line);out.println(line);Stringstr=bufIn.readLine();System.out.println("server:"+str);}bufr

6、.close();sk.close();}}运行效果:TCP套接字分析:1.对于服务端ServerSocketssk=newServerSocket(10001);创建Socket服务,接收端口为10001,这个端口必须是唯一的,范围在0~65535之间.1.客户端创建Socket服务,往服务端IP的10001端口发送数据;服务端调用ssk.accept();获取客户端的Socket对象,监听的端口为100012.获取客户端发送的数据,即输入流.3.把字母转换后生成输出流,传回给客户端.4.最好关闭套接字对象.5.其中对于输入流和输出流,这些输入IO技术,因为传送的是字母

7、,不是二进制文件,所以只需调用字符流对象即可.6.服务端只有一个,而客户端有多个,每一个客户端连接服务端的时候,服务端都会获得一个Socket对象,所以在程序池里面会有多个不同的Socket对象.7.ssk.accept()是个阻塞方法,所以在编写程序的时候要特别注意,不能让服务端和客户端同时在等待.8.多个客户端连接服务端的时候需要排队,如需并发进行,需要运用java的多线程技术.二、UDP套接字编程(UDP聊天室)newDatagramSocket()创建套接字接收端发送端程序框图:newDatagramSocket(80

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

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

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