Tải bản đầy đủ (.docx) (13 trang)

Bài tập socket lập trình mạng JAVA

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (68.82 KB, 13 trang )

Bài 1 : 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)
{
return Math.pow(so,3);
}
}




Trang Máy Khách :

import java.io.*;
import java.net.*;
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();
br.close();
in.close();
server.close();

}
}


Bài 2 : 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)
{

return st.toUpperCase();
}
}


Trang Máy Khách :

import java.io.*;
import java.net.*;
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();
br.close();
in.close();

server.close();
}
}


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
{
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)
{
return Math.sqrt(so);
}
}


Trang Máy Khách :

import java.io.*;
import java.net.*;
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);
System.out.println("Can Bac Hai Tinh Duoc : " + kqD);
socket.close();
}
}


Bài 4 : 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(" "," ");
}
return st;
}
}


Trang Máy Khách :

import java.io.*;
import java.net.*;

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();
}
}


Tổng Hợp Một Số Hàm Xử Lý
A, hàm chuẩn hoá chuỗi, kết quả trả về là 1 chuỗi sau khi đã 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ự trong chuỗi (không tính dấu cách) :
public static int DemKyTu(String st)
{
int dem=0;
for (int i=0; iif (st.charAt(i)!=' ')
dem = dem + 1;
return dem;

}


Trường hợp tính cả dấu cách
public static int DemKyTu(String st)
{
return st.length();
}
D, Hàm đếm số từ trong 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{
if (st.charAt(i)==' ' && st.charAt(i+1)!=' ')
{
dem++;
}
}

return dem;
}


E, Đếm số lần xuất hiện của các ký tự hoa trong chuỗi :
public static int DemSoKyTuHoa(String st)
{
int dem = 0;
for (int i=0;iif ((st.charAt(i)<='A') || (st.charAt(i)<='Z'))
dem++;
return dem;
}
Đếm số lần xuất hiện của các ký tự thường trong chuỗi :
public static int DemSoKyTuHoa(String st)
{
int dem = 0;
for (int i=0;iif ((st.charAt(i)<='a') || (st.charAt(i)<='z'))
dem++;
return dem;
}
Đếm số lần xuất hiện là các ký tự trong 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;iif ((st.charAt(i)<='A') || (st.charAt(i)<='z'))
dem++;

return dem;
}
F, Đếm số lần xuất hiện các ký tự là chữ số trong chuỗi :
public static int DemSoKyTuHoa(String st)
{
int dem = 0;
for (int i=0;iif ((st.charAt(i)<='0') || (st.charAt(i)<='9'))
dem++;
return dem;
}


G, Đếm số lần xuất hiện của 1 chuỗi tìm trong chuỗi :
public static int DemSoLanXuatHienTu(String st,String sTim)
{
int dem=0;
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 hiện của 1 ký tự (dấu cách) trong chuỗi :
public static int DemKT(String st)
{
int dem = 0;
char kt='A'; //ký tự muốn đếm, hoặc dấu cách
for (int i=0;iif (kt==st.charAt(i))
dem++;

return dem;
}
H, Thay thế toàn bộ chuỗi Tìm bằng 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 thế ký tự tìm bằng ký tự thay thế
public static String ThayTheKyTu(String st, char kTim, char kThayThe)
{
st = st.replace(kTim,kThayThe);
return st;
}


J, Kiểm tra chuỗi có toàn số hay không?
public static boolean ktChuoiSo(String str)
{
for(int i=0;iif((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ữ cái đầ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;iif (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);
st = st1.concat(st2.concat(st3));
}
return st;
}



×