读书人

TCP和UDP的简单JAVA程序从《计算机网

发布时间: 2012-07-31 12:33:46 作者: rapoo

TCP和UDP的简单JAVA程序,从《计算机网络 自顶向下方法》中抄的,然后加了点注释。

以下是按照书打的,加了点注释,也就是我个人的理解,由于我刚出茅庐,而且这方面我感觉蛮难得,希望大家有啥意见提出来,大家一起探讨探讨。

TCP客户端程序代码。

import java.io.BufferedReader;import java.io.DataOutputStream;import java.io.IOException;import java.io.InputStreamReader;import java.net.Socket;import java.net.UnknownHostException;public class TCPClient {/** * @param args * @throws Exception  * @throws UnknownHostException  * TCP套接字由,源IP地址,源端口号,目标IP地址,目标端口号组成的。 */public static void main(String[] args) throws UnknownHostException, Exception {// TODO Auto-generated method stubString sentence;String modifiedSentence;BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in));// 获取键盘输入的数据Socket clientSocket = new Socket("192.168.1.3", 6789);// 建立连接时传入IP地址和端口号,TCP是可靠的连接。DataOutputStream outToServer = new DataOutputStream(clientSocket.getOutputStream());BufferedReader inFromServer = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));sentence = inFromUser.readLine();outToServer.writeBytes(sentence + '\n');modifiedSentence = inFromServer.readLine();System.out.println("From Server: " + modifiedSentence);clientSocket.close();}}

TCP服务器端代码

import java.io.IOException;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress;import java.net.SocketException;public class UDPServer {/** * @param args * @throws IOException  *  * 没有握手请求了。 */public static void main(String[] args) throws IOException {// TODO Auto-generated method stubDatagramSocket serverSocket = new DatagramSocket(9876);byte[] receiveData = new byte[1024];byte[] sendData = new byte[1024];while(true){DatagramPacket receivePacket = new DatagramPacket(receiveData,receiveData.length);serverSocket.receive(receivePacket);String sentence = new String(receivePacket.getData());InetAddress IPAddress = receivePacket.getAddress();int port = receivePacket.getPort();String capitalizedSentence = sentence.toUpperCase();sendData = capitalizedSentence.getBytes();DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, port);serverSocket.send(sendPacket);}}}

注释的有点仓促,希望大家多提意见,多多指点,我看到后肯定给答复。

读书人网 >互联网

热点推荐