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

أرسل رساله بين ملفان

بدأه دنية القوى في 22 مايو 2011 · 3 رد · 377 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

مساء الخير

أنا عملت بر نامج بس مورضى يشتغل مافى والا خطأ ممكن توضح وش المشكله

ضرورى اليوم وشكرا.

/*

 * To change this template, choose Tools | Templates

 * and open the template in the editor.

 */





public interface Message {

// Set the number of characters and digits in the message

    public void setCounts(String sentence);

// Get the number of characters a .. z A .. Z

    public int getCharacterCount();

// Get the number of digits 0 .. 9

    public int getDigitCount();

}

/*

 * To change this template, choose Tools | Templates

 * and open the template in the editor.

 */





public class MessageImpl implements Message {



    private int digitCount = 0;

    private int charCount = 0;



    public void setCounts(String sentence) {

        charCount = sentence.replaceAll("\\d", "").length();

        int spaces = sentence.replaceAll("\\S", "").length();

        digitCount = sentence.replaceAll("\\D", "").length();



        charCount = sentence.length() - spaces - digitCount;

    }



    public int getCharacterCount() {

        return charCount;

    }



    public int getDigitCount() {

        return digitCount;

    }

}

/*

 * To change this template, choose Tools | Templates

 * and open the template in the editor.

 */





import java.net.*;



public class Server {



	public static void main(String args[]) throws Exception {

    ObjectOutputStream output =new ObjectOutputStream(sock.getOutputStream());

     ObjectOutputStream input =new ObjectInputStream(sock.getInputStream());

        DatagramSocket serverSocket = new DatagramSocket(2007)

        byte[] receiveData = new byte[1043];

        byte[] sendData = new byte [1043];





        while (true) {



            DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);

            serverSocket.receive(receivePacket);



            String sentence = new String(receivePacket.getData());

            sentence = sentence.trim();

            MessageImpl msg = new MessageImpl();

            msg.setCounts(sentence);

            int charCount  = msg.getCharacterCount();

            int digitCount = msg.getDigitCount();



            String sendS  = "The number of digits is "+Integer.toString(digitCount)+" the number of characters is "+ Integer.toString(charCount);

            InetAddress IPAddress = receivePacket.getAddress();



            int port = receivePacket.getPort();



            sendData = sendS.getBytes();



            DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, port);



            serverSocket.send(sendPacket);



        Output.close( );

        input.close ( );

    }



}

}

import java.io.*;

import java.net.*;



class Client {

public static void main(String args[]) throws Exception {

Socket sock = new Socket ("127.0.0.0",6100);

ObjectOutputStream input = new ObjectOutputStream(sock.getOutputStream());

ObjectOutputStream output = new ObjectInputStream(sock.getInputStream());



System.Out.println("Sending :" );

BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in));



DatagramSocket clientSocket = new DatagramSocket();



InetAddress IPAddress = InetAddress.getByName("localhost");



byte[] sendData = new byte[1043];

byte[] receiveData = new byte[1043];



String sentence = inFromUser.readLine();

sendData = sentence.getBytes();

DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, 2007);



clientSocket.send(sendPacket);



DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);



clientSocket.receive(receivePacket);



String modifiedSentence = new String(receivePacket.getData());



System.out.println("FROM SERVER:" + modifiedSentence);



ObjectInputStream input = new ObjectInputStream(sock.getInputStream());

MessageImpl msg=(MessageImpl)(input.readObject());

clientSocket.close();

Output.close( );

input.close ( );

}

}
#2

ﻻزم الكلاس Message تعمل implement للـ Serializable interface

كدا

public interface Message extends Serializable{

اكيد دا الغلط لانك بترسلى كائن فلازم يكون

Serializable

معذره انا لسه منزل نسخه جديدة ولا تحتوى على اى برامج للجافا

فلم استطع التعديل ع الكود لكن هذا ما وجدته من خلال قرائتى

تم تعديل هذه المشاركة بواسطة Mahmoud Kelany في 22 مايو 2011 في 21:23

Software Developer
Mahmoudkelany.com


 

#3

سويت التعديل بس مشتغل شاشه المخرجات؟

#4

دا الخطأ الاساسى لكن لا ادرى اى شىء اخر الا عند تشغيل الكود

اتمنى ان احد من الاخوه يكمل معاكى

لانى لسه لم اقوم بتنزيل الـ JDK لانى على الليونكس وبنزله اونلاين

بالتوفيق ان شاء الله

Software Developer
Mahmoudkelany.com


 

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