您的位置:首页 > 理论基础 > 计算机网络

TCP和UDP协议信息传递

2016-03-22 19:56 477 查看
TCP:分客户端和服务端。

TCPServer.java:

package com.buaa.tcpDemo01;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;

public class TCPServer {

public static void main(String[] args) throws Exception{
ServerSocket server = new ServerSocket(4444);
Socket socket = server.accept();
OutputStream os = socket.getOutputStream();
InputStream is = socket.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
String data = reader.readLine();
System.out.println(data);

os.write("From Server:hi,I am server .\n".getBytes());
reader.close();
is.close();
os.close();

}

}


TCPClient.java:

package com.buaa.tcpDemo01;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.Socket;

public class TCPClient {

public static void main(String[] args) throws Exception{
Socket socket = new Socket("127.0.0.1",4444);
OutputStream os = socket.getOutputStream();
os.write("From Client:Hi,I am Client .\n".getBytes());
InputStream is = socket.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String data = br.readLine();
System.out.println(data);

br.close();
is.close();
os.close();

}

}


UDPServer.java:

package com.buaa.udpDemo01;

import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;

public class UDPServer {

public static void main(String[] args) throws Exception{
DatagramSocket ds = new DatagramSocket(5555);
byte[] buf = new byte[1024];
DatagramPacket dp = new DatagramPacket(buf,1024);
ds.receive(dp);
String data = new String(dp.getData(),0,dp.getLength());
System.out.println(data);

InetAddress addr = dp.getAddress();
int port = dp.getPort();
byte[] echo = "From Server:echo..........".getBytes();
DatagramPacket dp2 = new DatagramPacket(echo,echo.length,addr,port);
ds.send(dp2);

ds.close();

}

}


UDPClient.java:

package com.buaa.udpDemo01;

import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;

public class UDPClient {

public static void main(String[] args) throws Exception{
DatagramSocket ds = new DatagramSocket();
InetAddress addr = InetAddress.getByName("127.0.0.1");
byte[] data = "From Client:Hi,I am Client .".getBytes();
DatagramPacket dp = new DatagramPacket(data,data.length,addr,5555);
ds.send(dp);

byte[] buf = new byte[1024];
DatagramPacket dp2 = new DatagramPacket(buf,1024);
ds.receive(dp2);
String echo = new String(dp2.getData(),0,dp2.getLength());
System.out.println(echo);

ds.close();

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: