【实验目的】
⑴ 理解Socket的概念;
⑵ 掌握Socket编程的方法。
【实验环境】
JDK1.6,安装有Java集成开发环境的Windows计算机。
【实验基础知识】
1. 套接字有不同的类型,流式套接字提供可靠、面向连接的服务,其使用TCP协议;数据报套接字提供种无连接的服务,数据通过相互独立的报文进行传输,不保证可靠、顺序、无差错。原始套接字主要用于一些协议的开发,可以进行比较底层的操作,但操作较复杂,一般程序使用较少。
2. 流式Socket通信的一般过程:
【实验内容和步骤】
⑴ 写出源代码中客户端和服务器Socket对象、输入输出流、读写方法以及程序流程。
第一步是建立连接,查找边上的同学的IP地址,再查找本机的IP地址,在客户端里面的代码里面socket = new Socket("192.168.94.47", 10000);
将IP地址改成边上同学的电脑IP地址;
第二步是在Java里面建立新的包创建新的类分别为Myserver与Myclient,建立完成之后,在客户端代码里面输入想要输入的内容,再在服务器输入想要输入的;
第三步先运行Myserver类,然后再运行Myclient类,之后就运行出来啦。
⑵ 编写客户端程序,从键盘上输出小写字母;编写服务器端程序,服务器根据接收到的字符串进行转换,将小写字母转化为大写字母,并且将转换后的字符串返回给客户机。
代码:客户端
Scanner sc = new Scanner(System.in);
System.out.println("连接服务器的10000端口!");
socket = new Socket("192.168.94.47", 10000);
input = new DataInputStream(socket.getInputStream());
//outputStream out=socket.getOutputStream();
output = new DataOutputStream(socket.getOutputStream());
//2.向服务器端发送字符串
String str = sc.next();
output.writeUTF(str);//发送
代码:服务器
String inStr=input.readUTF(); //接收数据
System.out.println(inStr);
//3.向客户端发送字符串
inStr=inStr.toUpperCase();
output.writeUTF(inStr);//发送数据