الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

Client/Server application

مغلق
بدأه نحلة نشيطة في 20 أبريل 2005 · 1 رد · 557 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

حيث أن الهدف الأساسي من المشروع الذي أقوم به ليس Application بحد ذاته، إنما communication في نظام client/server الذي أقوم به ، فإنني أحتاج لمساعدتكم في الآتي:

من عنده أو يعرف source code يقوم بإرسال ملف من جهاز لآخر و من ثم تتم طباعة الملف في الجهاز الآخر ، أرجو أن يدلني عليه لأتفرغ أنا للبحث عن كيفية استخدام bluetooth في هذه العملية لأنني للآن لم أصل لشئ، و يجب أن أسلم هذا المشروع الأحد القادم ؟؟

لكم من الدعاء و الشكر لأية مساعدة.

كما أريد أن أكون .. بأمر الله أكون

#2

حسنٌ ،

لدي هذا الكود

الأول : EchoClient

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

class EchoClient {

  public static void main(String[] args) {
    try {
      String host; 
      if (args.length > 0 && args[0] != null) {
	host = args[0]; 
      } else {
	host = "localhost"; 
      }
      Socket t = new Socket(host, 8008); 
      BufferedReader in 
	= new BufferedReader(new InputStreamReader(t.getInputStream())); 
      PrintWriter out 
	= new PrintWriter(new OutputStreamWriter(t.getOutputStream())); 

      for (int i = 1; i <= 10; i++) {
	System.out.println("Sending: line " + i); 
	out.println("line " + i); 
	out.flush();
      }
      out.println("BYE"); 
      out.flush();

      for (;;) {
        String str = in.readLine(); 
        if (str == null) {
          break; 
        } else {
          System.out.println(str); 
        }
      }
    } catch (Exception e) { 
      System.out.println("Error: " + e); 
    }
  }

}

و هو يقوم بإرسال text للServer

و الثاني: EchoMultiServer

و هو يقوم باستقبال text من أكثر من Client

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

class ClientHandler extends Thread {

  protected Socket incoming; 

  public ClientHandler(Socket incoming) {
    this.incoming = incoming;
  }

  public void run() {
    try {
      BufferedReader in 
	= new BufferedReader(new InputStreamReader(incoming.getInputStream())); 
      PrintWriter out 
	= new PrintWriter(new OutputStreamWriter(incoming.getOutputStream())); 
      out.println("Hello! This is Java MultiEchoServer.");
      out.println("Enter BYE to exit."); 
      out.flush();
      
      for (;;) {
	String str = in.readLine(); 
	if (str == null) {
   break; 
	} else {
   out.println("Echo: " + str);
   out.flush(); 
   System.out.println("Received: " + str);
   
   if (str.trim().equals("BYE")) 
     break; 
	}
      }
      incoming.close(); 
    } catch (Exception e) {
      System.out.println("Error: " + e); 
    }
  }

}

public class MultiEchoServer {

  public static void main(String[] args) {
    System.out.println("MultiEchoServer started."); 
    
    try {
      ServerSocket s = new ServerSocket(8009); 
      for (;;) {
	Socket incoming = s.accept(); 
	new ClientHandler(incoming).start(); 
      }
    } catch (Exception e) {
      System.out.println("Error: " + e); 
    }

    System.out.println("MultiEchoServer stopped."); 
  }
}

ما أريد مساعدتي فيه الآن :

1. كيفية تعديل الكود في Client لجعله عوضا عن إرسال text يقوم بإرسال ملف إلى Server.

2. حالما يصل الملف للServer يقوم بطباعته باستخدام الطابعة و ارسال Response للclient أنه تمت الطباعة و إلا ارسال رسالة خطأ عوضا عن ذلك.

بانتظاركم اخواني و اخواتي.

كما أريد أن أكون .. بأمر الله أكون

هذا الموضوع مغلق.

مواضيع مشابهة