Bài 3 : Kết Nối UDP Sử Dụng Socket, chuẩn gửi nhận SỐ - SỐ import java.io.*;. import java.net.*; class UDPSS {[r]
(1)Bài : Kết Nối TCP Sử Dụng Socket, chuẩn gửi nhận SỐ - SỐ Trang Máy Chủ :
import java.io.*; import java.net.*; class TCPSS {
public static void main(String[] args) throws Exception {
int port = 2812;
ServerSocket server = new ServerSocket(port); Socket client = server.accept();
BufferedReader br = new BufferedReader(new InputStreamReader(client.getInputStream()));
PrintWriter pw = new PrintWriter(client.getOutputStream()); String st = br.readLine();
double so = Double.parseDouble(st); double kqD = XuLy(so);
String kqS = String.valueOf(kqD); pw.write(kqS + "\n");
pw.flush(); pw.close(); br.close(); client.close(); server.close(); }
public static double XuLy(double so) {
(2)class TCPCS {
public static void main(String[] args) throws Exception {
int portS = 2812;
InetAddress ipS = InetAddress.getByName("localhost"); Socket server = new Socket(ipS,portS);
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
BufferedReader br = new BufferedReader(new InputStreamReader(server.getInputStream()));
PrintWriter pw = new PrintWriter(server.getOutputStream()); System.out.print("Nhap so bat ky : ");
double so = Double.parseDouble(in.readLine()); String st = String.valueOf(so);
pw.write(st+"\n"); pw.flush();
String kqS = br.readLine();
double kqD = Double.parseDouble(kqS);
System.out.println("Lap Phuong So = " + kqD); pw.close();
(3)Bài : Kết Nối TCP Sử Dụng Socket, gửi nhận CHUỖI – CHUỖI Trang Máy Chủ :
import java.io.*; import java.net.*; class TCPSC {
public static void main(String[] args) throws Exception {
int port = 2812;
ServerSocket server = new ServerSocket(port); Socket client = server.accept();
BufferedReader br = new BufferedReader(new InputStreamReader(client.getInputStream()));
PrintWriter pw = new PrintWriter(client.getOutputStream()); String st = br.readLine();
String kq = XuLy(st); pw.write(kq + "\n"); pw.flush();
pw.close(); br.close(); client.close(); server.close(); }
public static String XuLy(String st) {
(4)class TCPCC {
public static void main(String[] args) throws Exception {
int portS = 2812;
InetAddress ipS = InetAddress.getByName("localhost"); Socket server = new Socket(ipS,portS);
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
BufferedReader br = new BufferedReader(new InputStreamReader(server.getInputStream()));
PrintWriter pw = new PrintWriter(server.getOutputStream()); System.out.print("Nhap chuoi bat ky : ");
String st = in.readLine(); pw.write(st+"\n");
pw.flush();
String kq = br.readLine();
System.out.println("Chuoi Hoa : " + kq); pw.close();
(5)Bài : Kết Nối UDP Sử Dụng Socket, chuẩn gửi nhận SỐ - SỐ import java.io.*;
import java.net.*; class UDPSS {
public static void main(String[] args) throws Exception {
int port = 2812;
DatagramSocket socket = new DatagramSocket(port); DatagramPacket packet;
byte []data; try
{
data = new byte[1024];
packet = new DatagramPacket(data,data.length); socket.receive(packet);
String st = new String(packet.getData(),0,packet.getLength()); double so = Double.parseDouble(st);
InetAddress ipC = packet.getAddress(); int portC = packet.getPort();
double kqD = XuLy(so);
String kqS = String.valueOf(kqD); data = kqS.getBytes();
packet = new DatagramPacket(data,data.length,ipC,portC); socket.send(packet);
socket.close(); }
catch (UnknownHostException evt) {
evt.printStackTrace(); }
}
public static double XuLy(double so) {
(6)class UDPCS {
public static void main(String[] args) throws Exception {
DatagramSocket socket = new DatagramSocket(); DatagramPacket packet;
byte []data;
InetAddress ipS = InetAddress.getByName("localhost"); int portS = 2812;
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Nhap so bat ky : ");
double so = Double.parseDouble(in.readLine()); String st = String.valueOf(so);
data = st.getBytes();
packet = new DatagramPacket(data,data.length,ipS,portS); socket.send(packet);
data = new byte[1024];
packet = new DatagramPacket(data,data.length); socket.receive(packet);
String kqS = new String(packet.getData(),0,packet.getLength()); double kqD = Double.parseDouble(kqS);
(7)Bài : Kết Nối UDP Sử Dụng Socket, gửi nhận CHUỖI – CHUỖI class UDPSC
{
public static void main(String[] args) throws Exception {
int port = 2812;
DatagramSocket socket = new DatagramSocket(port); DatagramPacket packet;
byte []data; try
{
data = new byte[1024];
packet = new DatagramPacket(data,data.length); socket.receive(packet);
String st = new String(packet.getData(),0,packet.getLength()); InetAddress ipC = packet.getAddress();
int portC = packet.getPort(); String kq = XuLy(st);
data = kq.getBytes();
packet = new DatagramPacket(data,data.length,ipC,portC); socket.send(packet);
socket.close(); }
catch (UnknownHostException evt) {
evt.printStackTrace(); }
}
public static String XuLy(String st) {
st = st.trim();
while (st.indexOf(" ")>=0) {
st = st.replaceAll(" "," "); }
(8)class UDPCC {
public static void main(String[] args) throws Exception {
DatagramSocket socket = new DatagramSocket(); DatagramPacket packet;
byte []data;
InetAddress ipS = InetAddress.getByName("localhost"); int portS = 2812;
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Nhap chuoi bat ky : "); String st = in.readLine();
data = st.getBytes();
packet = new DatagramPacket(data,data.length,ipS,portS); socket.send(packet);
data = new byte[1024];
packet = new DatagramPacket(data,data.length); socket.receive(packet);
String kq = new String(packet.getData(),0,packet.getLength()); System.out.println("Chuoi Ket Qua Tu May Chu : " + kq); socket.close();
(9)Tổng Hợp Một Số Hàm Xử Lý
A, hàm chuẩn hoá chuỗi, kết trả chuỗi sau chuẩn hoá :
public static String ChuanHoa(String st) {
st=st.trim();
while (st.indexOf(" ")>=0) {
st=st.replaceAll(" "," "); }
st = st.toLowerCase(); String[] ARR=st.split(" ");
for (int i = 0; i < ARR.length; i++)
ARR[i]=ARR[i].substring(0, 1).toUpperCase().concat(ARR[i].substring(1));
st="";
for (int i = 0; i < ARR.length-1; i++) st=st.concat(ARR[i])+" "; st=st.concat(ARR[ARR.length-1]); return st;
}
B, Hàm đảo ngược chuỗi :
public static String DaoNguoc(String st) {
StringBuffer temp = new StringBuffer(st); return temp.reverse().toString();
}
C, Hàm đếm số ký tự chuỗi (không tính dấu cách) :
public static int DemKyTu(String st) {
int dem=0;
for (int i=0; i<st.length(); i++) if (st.charAt(i)!=' ')
(10)}
D, Hàm đếm số từ chuỗi (chuỗi chuẩn hoá) :
public static int DemTu(String st) {
String[] temp; temp = st.split(" "); return temp.length; }
Trường hợp chuỗi chưa chuẩn hóa:
public static int DemTuTrongChuoiKhongChuanHoa(String st) {
int dem;
if (st.charAt(0)!=' ') dem = 1; else
dem = 0;
for (int i=0;i<st.length();i++ ) {
if (st.charAt(i)==' ' && st.charAt(i+1)!=' ') {
dem++; }
}
(11)E, Đếm số lần xuất ký tự hoa chuỗi :
public static int DemSoKyTuHoa(String st) {
int dem = 0;
for (int i=0;i<st.length();i++)
if ((st.charAt(i)<='A') || (st.charAt(i)<='Z')) dem++;
return dem; }
Đếm số lần xuất ký tự thường chuỗi :
public static int DemSoKyTuHoa(String st) {
int dem = 0;
for (int i=0;i<st.length();i++)
if ((st.charAt(i)<='a') || (st.charAt(i)<='z')) dem++;
return dem; }
Đếm số lần xuất ký tự chuỗi (không phân biệt hoa thường, không đếm số):
public static int DemSoKyTuHoa(String st) {
int dem = 0;
for (int i=0;i<st.length();i++)
if ((st.charAt(i)<='A') || (st.charAt(i)<='z')) dem++;
return dem; }
F, Đếm số lần xuất ký tự chữ số chuỗi :
public static int DemSoKyTuHoa(String st) {
int dem = 0;
for (int i=0;i<st.length();i++)
(12)for (int i=0;i<=st.length()-sTim.length();i++)
if (sTim.equalsIgnoreCase(st.substring(i,i+sTim.length()))) dem++;
return dem; }
Đếm số lần xuất ký tự (dấu cách) chuỗi :
public static int DemKT(String st) {
int dem = 0;
char kt='A'; //ký tự muốn đếm, dấu cách
for (int i=0;i<st.length();i++) if (kt==st.charAt(i))
dem++; return dem;
}
H, Thay tồn chuỗi Tìm chuỗi Thay Thế :
public static String ThayThe(String st, String sTim, String sThayThe) {
st = st.replaceAll(sTim,sThayThe); return st;
}
I, Trường hợp thay ký tự tìm ký tự thay thế
public static String ThayTheKyTu(String st, char kTim, char kThayThe) {
st = st.replace(kTim,kThayThe); return st;
(13)J, Kiểm tra chuỗi có tồn số hay khơng?
public static boolean ktChuoiSo(String str) {
for(int i=0;i<str.length();i++)
if((str.charAt(i)<'0')||(str.charAt(i)> '9')) return false;
return true; }
K, Biến chuỗi thành chuỗi chữ hoa
public static String ChuoiHoa(String str) {
return str.toUpperCase(); }
L, Biến chuỗi thành chuỗi chữ thường
public static String ChuoiThuong(String str) {
return str.toLowerCase(); }
M, Biến chữ đầu sau dấu cách thành chữ hoa :
public static String ChuHoaDau(String st) {
if (st.charAt(0)!=' ') {
st = st.substring(0,1).toUpperCase().concat(st.substring(1)); }
for (int i=0;i<st.length() ;i++ ) if (st.charAt(i)==' ') {
int vt = i+1;
String st1 = st.substring(0,vt);
String st2 = st.substring(vt,vt+1).toUpperCase(); String st3 = st.substring(vt+1);