欢迎来到天天文库
浏览记录
ID:8819281
大小:66.96 KB
页数:7页
时间:2018-04-08
《套接字编程实验报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、Programing实验物联2班201208080228赵智慧一、实验题目:利用套接字编程,编写出TCP和UDP的客户机、服务器程序进行交互二、实验代码:1.TCP服务器:packageTCP;importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStreamReader;importjava.net.ServerSocket;importjava.net.Socket;publicclassTCPServer{
2、publicstaticvoidmain(String[]args)throwsIOException{ServerSocketserver=newServerSocket(7999);System.out.println("serverok");Socketsocket=server.accept();BufferedReaderbf=newBufferedReader(newInputStreamReader(socket.getInputStream()));Stringstr=bf.readLin
3、e();while(str!=null){System.out.println(str);str=bf.readLine();}}}2.TCP客户机:packageTCP;importjava.io.BufferedReader;importjava.io.DataOutputStream;importjava.io.IOException;importjava.io.InputStreamReader;importjava.io.OutputStream;importjava.io.PrintWrite
4、r;importjava.net.Socket;importjava.net.UnknownHostException;publicclassTCPClient{publicstaticvoidmain(String[]args)throwsUnknownHostException,IOException{Stringsentence;InputStreamReaderisr=newInputStreamReader(System.in);BufferedReaderinFromUser=newBuffe
5、redReader(isr);SocketclientSocket=newSocket("127.0.0.1",7999);sentence=inFromUser.readLine();OutputStreamos=clientSocket.getOutputStream();PrintWriteroos=newPrintWriter(os);os.write(sentence.getBytes());clientSocket.close();}}1.UDP服务器:packageUDP;importjav
6、a.net.DatagramPacket;importjava.net.DatagramSocket;importjava.net.InetAddress;importjava.net.SocketException;publicclassUDPServer{publicstaticvoidmain(String[]args)throwsException{DatagramSocketserverSocket=newDatagramSocket(9876);//所有发送和接收的数据都将通过该套接字//因为
7、UDP无连接,所以无需创建一个新的套接字监听新的请求byte[]receive1=newbyte[1024];byte[]receive2=newbyte[1024];byte[]send1=newbyte[1024];byte[]send2=newbyte[1024];byte[]send3=newbyte[1024];while(true){DatagramPacketreceivePacket=newDatagramPacket(receive1,receive1.length);serverSoc
8、ket.receive(receivePacket);Stringstr=newString(receivePacket.getData());//从分组中提取出数据,并存入str中InetAddressip=receivePacket.getAddress();//提取IP地址intport=receivePacket.getPort();//提取客户机端口号Stringask="请选择:1.将其转化为大写2.将a字符替换为
此文档下载收益归作者所有