UDP_Client
package TcpAndUdp;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
public class UDP_Client {
public static void main(String[] args) {
try {
DatagramSocket socket = new DatagramSocket();
InetAddress localhost = InetAddress.getByName("localhost");
byte[] bytes = "hehe".getBytes();
DatagramPacket datagramPacket = new DatagramPacket(bytes, bytes.length, localhost, 9999);
socket.send(datagramPacket);
socket.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
UDP_Service
package TcpAndUdp;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
public class UDP_Service {
public static void main(String[] args) {
try {
DatagramSocket socket = new DatagramSocket(9999);
byte[] bytes = new byte[1024];
DatagramPacket datagramPacket = new DatagramPacket(bytes, 1024);
while (true) {
socket.receive(datagramPacket);
int length = datagramPacket.getLength();
String msg = new String(bytes, 0, length);
System.out.println("收到信息" + msg);
if (msg.equals("hehe")) {
break;
}
}
socket.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
TCP_Client
package TcpAndUdp;
import java.io.*;
import java.net.Socket;
public class TCP_Client {
public static void main(String[] args) throws Exception {
Socket localhost = new Socket("localhost", 19992);
OutputStream os = localhost.getOutputStream();
// PrintWriter printWriter = new PrintWriter(os);
// printWriter.write("年后");
// printWriter.flush();
BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(os));
bufferedWriter.write("jvsdavdas");
bufferedWriter.flush();
localhost.shutdownOutput();
InputStream inputStream = localhost.getInputStream();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
String s = bufferedReader.readLine();
System.out.println(s);
inputStream.close();
bufferedReader.close();
os.close();
// printWriter.close();
bufferedReader.close();
localhost.close();
}
}
TCP_Service
package TcpAndUdp;
import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
public class TCP_Service {
public static void main(String[] args) throws Exception {
ServerSocket serverSocket = new ServerSocket(19992);
while (true) {
Socket accept = serverSocket.accept();
ServiceThread serviceThread = new ServiceThread(accept);
serviceThread.start();
}
}
private static class ServiceThread extends Thread {
private Socket accept;
public ServiceThread(Socket accept) {
this.accept = accept;
}
@Override
public void run() {
super.run();
InputStream inputStream = null;
BufferedReader bufferedReader = null;
OutputStream outputStream = null;
try {
inputStream = accept.getInputStream();
bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
String info;
while ((info = bufferedReader.readLine()) != null) {
System.out.println("我是服务器,客户端说:" + info);
}
accept.shutdownInput();
outputStream = accept.getOutputStream();
outputStream.write("通话关闭".getBytes());
outputStream.flush();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
inputStream.close();
bufferedReader.close();
outputStream.close();
accept.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}