Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 2 của 2
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Nhờ mọi người sửa bài giúp mình với ạ!

    Mình mới học java, mấy hôm nay làm bài này mà xem đi xem lại không biết sai chỗ nào, mọi người vui lòng chỉ giúp với, mình rất cảm ơn ạ!
    Đề bài là bên Client nhập 2 số nguyên a và b rồi gửi đến Server chờ cho server tính tổng xong gửi về cho client hiển thị kết quả. Mình làm bằng Jcreator5.0 ạ, khi nhập a và b xong thì chả thấy hiện kết quả đâu cả [IMG]images/smilies/21.gif[/IMG] Mà mình làm mấy bài khác cũng y hệt, nhập xong ko thấy gửi kết quả về [IMG]images/smilies/21.gif[/IMG]
    SERVER:
    import java.io.*;
    import java.net.*;
    class Class1 {
    public static void main (String[] args) throws Exception{
    ServerSocket server = new ServerSocket(1234);
    Socket client = server.accept();

    BufferedReader br1 = new BufferedReader(new InputStreamReader(
    client.getInputStream()));
    BufferedReader br2 = new BufferedReader(new InputStreamReader(
    client.getInputStream()));
    PrintWriter pw = new PrintWriter(client.getOutputStream());
    String st1,st2,kq;
    int tong,a,b;

    st1 = br1.readLine();
    a=Integer.parseInt(st1);
    st2 = br2.readLine();
    b=Integer.parseInt(st2);
    tong=a+b;
    kq=Integer.toString(tong);

    pw.write(kq);
    pw.flush();

    br1.close();
    br2.close();
    pw.close();
    client.close();
    server.close();
    }
    }

    CLIENT:
    import java.io.*;
    import java.net.*;
    class Class1 {
    public static void main (String[] args) throws Exception{
    Socket server = new Socket("localhost", 1234);

    BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
    BufferedReader br = new BufferedReader(new InputStreamReader(
    server.getInputStream()));
    PrintWriter pw1 = new PrintWriter(server.getOutputStream());
    PrintWriter pw2 = new PrintWriter(server.getOutputStream());
    String st1,st2,kq;

    System.out.print("a:");
    st1 = in.readLine();
    pw1.write(st1);
    pw1.flush();
    System.out.print("b:");
    st2 = in.readLine();
    pw2.write(st2);
    pw2.write("
    ");
    pw2.flush();

    kq = br.readLine();

    System.out.println("Tong:"+kq);
    br.close();
    pw1.close();
    pw2.close();
    server.close();

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Chào bạn.Mình có chương trình mẫu,bạn có thể tham khảo để sửa chương trình của mình(giao thức TCP ).Mình không biết bạn có biết hay không,phải chạy server trước rồi mới chạy client.Chương trình dưới đây yêu cầu người dùng nhập một chuỗi bên client,gửi chuỗi này lên server,server sẽ xử lý và trả về cho client chuỗi viết hoa,chuỗi viết thường,chuỗi đảo ngược với chuỗi ban đầu và số từ của chuỗi.

    Client:
    Mã:
    import java.io.DataInputStream;
    import java.io.DataOutputStream;
    import java.net.*;
    import java.util.Scanner;
    
    public class ChuoiTCPClient {
    	private static Socket clsk;
    	private static Scanner scn;
    
    	public static void main(String[] agrs) throws Exception{
    		// Tao clinent socket de ket noi toi server
    		clsk = new Socket("localhost",5000);
    		System.out.println("nhap vao chuoi gui den server:");
    		// Tao output stream ket noi toi socket
    		DataOutputStream dos = new DataOutputStream(clsk.getOutputStream());
    		scn = new Scanner(System.in);
    		String s = scn.nextLine();
    		// gui toi server
    		dos.writeUTF(s);
    		
    		
    		DataInputStream isr = new DataInputStream(clsk.getInputStream());
    		String st = isr.readUTF();
    		String st2 = isr.readUTF();
    		String st3 = isr.readUTF();
    		String st4 = isr.readUTF();
    		System.out.println("Doi thanh Chuoi hoa: " + st);
    		System.out.println("Doi thanh Chuoi thuong: " + st2);
    		System.out.println("doi chuoi nguoc:"+st3);
    		System.out.println("Dem so tu: "+st4);
    		}
    }
    Server:
    Mã:
    import java.io.DataInputStream;
    import java.io.DataOutputStream;
    import java.net.*;
    
    
    public class ChuoiTCPServer {
    	private static ServerSocket server;
    
    	public static void main(String[] agrs) throws Exception{
    		server = new ServerSocket(5000);// Tao cong 5000 de server lang nghe
    		// Cho client ket noi
    		while(true){
    			Socket sk = server.accept();
    			// Tao input stream
    			DataInputStream isr = new DataInputStream(sk.getInputStream());
    			String st = isr.readUTF();
    			// Tao output stream
    			DataOutputStream dos = new DataOutputStream(sk.getOutputStream());
    			dos.writeUTF(chuyenhoa(st));
    			dos.writeUTF(chuyenthuong(st));
    			dos.writeUTF(chuyennguoc(st));
    			dos.writeUTF("" + demtu(st));
    		    sk.close();
    		}
    	}
    	public static String chuyennguoc(String str)
    	{
    		String str1  ="";
    		for( int i = 0 ; i < str.length() ; i++ )
    		{
    			if( str.charAt(i) >= 'a'  && str.charAt(i) <= 'z')
    			{
    				str1 += (char)(str.charAt(i)-32); 
    			}
    			else if( str.charAt(i) >= 'A'  && str.charAt(i) <= 'Z')
    			{
    				str1 += (char)(str.charAt(i)+32);
    			}
    			else str1 += str.charAt(i);
    		}
    		return str1;
    	}
    	public static String chuyenhoa(String str)
    	{
    		String str1  ="";
    		for( int i = 0 ; i < str.length() ; i++ )
    		{
    			if( str.charAt(i) >= 'a'  && str.charAt(i) <= 'z')
    			{
    				str1 += (char)(str.charAt(i)-32); 
    			}
    			else str1 += str.charAt(i);
    		}
    		return str1;
    	}
    	public static String chuyenthuong(String str)
    	{
    		String str1  ="";
    		for( int i = 0 ; i < str.length() ; i++ )
    		{
    			if( str.charAt(i) >= 'A'  && str.charAt(i) <= 'Z')
    			{
    				str1 += (char)(str.charAt(i)+32);
    			}
    			else str1 += str.charAt(i);
    		}
    		return str1;
    	}
    	public static int demtu(String s){
    	        int i = 0, count = 1; 
    	        char[] s1 = s.toCharArray();
    	        while(s1[i] == ' '){
    	            i++; 
    	        } 
    	        for (int j = i; j < s1.length - 1; j++){ 
    	            if(s1[j] == ' ' && s1[j + 1] != ' '){ 
    	                count++; 
    	            } 
    	        } 
    	        return count; 
    	    } 
    	}
    Chúc bạn học tốt.

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •