• 0
دنية القوى

كيفيه الاتصال بين serverوclient

سؤال

السلام عليكم

مساء الخير

أنا عندى برنامج وعندى بعض التعديلات حولات بس فى أخطاء

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

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

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

DatagramSocket clientSocket = new DatagramSocket();

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

byte[] sendData = new byte[1024];
byte[] receiveData = new byte[1024];

String sentence = inFromUser.readLine();

sendData = sentence.getBytes();
DatagramPacket sendPacket =
new DatagramPacket(sendData, sendData.length, IPAddress, 9876);

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

clientSocket.close();

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

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

DatagramSocket serverSocket = new DatagramSocket(9876);

byte[] receiveData = new byte[1024];
byte[] sendData = new byte[1024];

while(true)
{

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

serverSocket.receive(receivePacket);

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

InetAddress IPAddress = receivePacket.getAddress();

int port = receivePacket.getPort();

String capitalizedSentence = sentence.toUpperCase();
sendData = capitalizedSentence.getBytes();

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

serverSocket.send(sendPacket);
}
}
}



}
}

هذى المطلوب تنفيذه على البرنامج.

Write a client server application using Java sockets that allows a client to write a message (as
a String) to a socket. A server will read this message, count the number of characters and
digits in the message, and send these two counts back to the client. The server will listen to
port 6100. The client can obtain the String message that is to pass to the server either from
the command line or by using a prompt to the user.
One Strategy for sending the two counts back to the client is for the server to construct an
object containing:
a) The message it receives from the client
b) A count of the number of characters in the message
c) A count of the number of digits in the message
The server will read the String from the socket, construct a new object that implements the
Message interface, count the number of characters and digits in the String, and write the
content of the Message object to the socket. The client will send a String to the server
and will wait for the server to respond with a message containing the count of the number of
characters and digits. Communication over the socket connection will require obtaining the
InputStream and OutputStream for the socket.
Objects that are written to or read from an OutputStream or InputStream must be
serialized and therefore must implement the java.io.Serializable interface. Please,
design a class named MessageImpl that implements both java.io.Serializable
and the Message interface.
Serializing an object requires obtaining a java.io.ObjectOutputStream and then
writing the object using the writeObject() method in the ObjectOutputStream
class. Thus, the server’s activity will be organized roughly as follows:
a) Reading the String from the socket
b) Constructing a new MessageImpl object and counting the number of characters
and digits in the message
c) Obtaining the ObjectOutputStream for the socket and writing the
MessgaeImpl object to this output stream.
Reading a serialized object requires obtaining a java.io.ObjectIntputStream and
then reading the serialized object using the readObject() method in the
ObjectInputStream class. Therefore, the client’s activity will be arranged
approximately as follows:
a) Writing the String to the socket
b) Obtaining the ObjectInputStream from the socket and reading the MessageImpl.

أرجو المساعدتكم وتضيح

وشكرا.

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

39 إجابة على هذا السؤال .

  • 0

تمام اول حاجه نبدأ بتصحيح الاخطا



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

class UDPClient {

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

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

DatagramSocket clientSocket = new DatagramSocket();

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

byte[] sendData = new byte[1024];
byte[] receiveData = new byte[1024];

String sentence = inFromUser.readLine();

sendData = sentence.getBytes();
DatagramPacket sendPacket =
new DatagramPacket(sendData, sendData.length, IPAddress, 9876);

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

clientSocket.close();

}
}



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

class UDPServer {

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

DatagramSocket serverSocket = new DatagramSocket(9876);

byte[] receiveData = new byte[1024];
byte[] sendData = new byte[1024];

while (true) {

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

serverSocket.receive(receivePacket);

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

InetAddress IPAddress = receivePacket.getAddress();

int port = receivePacket.getPort();

String capitalizedSentence = sentence.toUpperCase();
sendData = capitalizedSentence.getBytes();

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

serverSocket.send(sendPacket);
}
}
}

ثم نواصل النقاش

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أنا حولات بس فى أخطأ وكمان مانى عارفه أسوى أرسل جمله وستقبل أعدد

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

ابدائي بتشغيل السيرفر اولا قبل الكلاينت

كمان خلي اسم الهوست localhost

تم تعديل بواسطه mental-driller
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

هذى الكود كتبتها فى أخطأ على حسب السؤال أريد منكم توضيح

وشكرا.

public interface Message
{
// Set the number of characters and digits in the message
public void setCounts();
// Get the number of characters a .. z A .. Z
public int getCharacterCount();
// Get the number of digits 0 .. 9
public int getDigitCount();
}

Public class server

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

MessageImpl Socket serverSocket = new MessageImpl Socket(9876);

byte[] receive String = new byte[6100];
byte[] sendObject = new byte[6100];

while(true)
{

MessageImpl Packet receivePacket =
new MessageImpl Packet(receive String, receiveObject.length);

serverSocket.receive(receivePacket);

String sentence = new String(receivePacket.getDigitCount ());
InetAddress IPAddress = receivePacket.getDigitCount ();

int port = receivePacket.getDigitCountt();

String capitalizedSentence = sentence.toUpperCase();
sendObject = capitalizedSentence.getDigitCountt ();

MessageImpl Packet sendPacket =
new MessageImpl Packet(sendObject, sendObject.length, IPAddress, port);

serverSocket.send(sendPacket);
}
}
}

}


Public class client

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

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

MessageImpl Socket clientSocket = new MessageImpl Socket();

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

byte[] send String = new byte[6100];
byte[] receive Object = new byte[6100];

String sentence = inFromUser.readLine();

send String = sentence.getCharacterCount ();
MessageImpl Packet sendPacket =
new MessageImpl Packet(send String, send String.length, IPAddress, 9876);

clientSocket.send(sendPacket);

MessageImpl Packet receivePacket =
new MessageImpl Packet(receive Object, receive Object.length);

clientSocket.receive(receivePacket);

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

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

clientSocket.close();

}
}

}

public implement MessageImpl

{\\فى أش تستخدم أريد التوضيح
}

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0


public implement MessageImpl

{\\فى أش تستخدم أريد التوضيح
}

هل هذا كلاس او انترفايس او ماذا ؟

الاكواد في الاعلى بها اخطاء كتابيه

تاكدي من تصحيح الاخطأ الكتابيه اولا

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

يا اخت دنيه قبل ان تستخدمي هذا ارجعي للبرنامج الاول واكتبي الكلاينت والسيرفر كبرنامجين منفصلين

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

هذى public implement MessageImpl الداله كما هو مطالوب فى السؤال الذى وضعه فى الاول ومادرى وش أستخدمه

طيب ياليت توضح الخطأ الانى خالص مانى كدره أستوعب

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

اولا هل تطبق البرنامج الاول معاكي؟

اذا كان لا ، اذا طبقيه اول ، انا مشغله عندي وبيعمل تكبير للحروف

اذا كان نعم

فالاخطاء عندك اولا public implement MessageImpl لايوجد keyword في جافا اسمها implement ربما قصدك


public implement MessageImpl()

اذا قلتي انها داله

الشيئ الاخر


Object. Method()

لايوجد فراغات بين اسم الاوبحكت واسم الدله

تم تعديل بواسطه mental-driller
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

لا ونما يشبه قليل البرنامج الاول يقوم برسال جمله ويستقبال جمله ويقوم بعد الحرف الموجوده

البرنامج المطلوب بعض التعديلات بحيث يرسال جمله ويستقبال عدد ويقوم بعد الحرف ويضعه فى رقم ويعد العداد ويضعه فى رقم أخرى

هذه هوى السؤال

Write a client server application using Java sockets that allows a client to write a message (asa String) to a socket. A server will read this message, count the number of characters anddigits in the message, and send these two counts back to the client. The server will listen toport 6100. The client can obtain the String message that is to pass to the server either fromthe command line or by using a prompt to the user.One Strategy for sending the two counts back to the client is for the server to construct anobject containing:a) The message it receives from the clientb) A count of the number of characters in the messagec) A count of the number of digits in the messageThe server will read the String from the socket, construct a new object that implements theMessage interface, count the number of characters and digits in the String, and write thecontent of the Message object to the socket. The client will send a String to the serverand will wait for the server to respond with a message containing the count of the number ofcharacters and digits. Communication over the socket connection will require obtaining theInputStream and OutputStream for the socket.Objects that are written to or read from an OutputStream or InputStream must beserialized and therefore must implement the java.io.Serializable interface. Please,design a class named MessageImpl that implements both java.io.Serializableand the Message interface.Serializing an object requires obtaining a java.io.ObjectOutputStream and thenwriting the object using the writeObject() method in the ObjectOutputStreamclass. Thus, the server’s activity will be organized roughly as follows:a) Reading the String from the socketb) Constructing a new MessageImpl object and counting the number of charactersand digits in the messagec) Obtaining the ObjectOutputStream for the socket and writing theMessgaeImpl object to this output stream.Reading a serialized object requires obtaining a java.io.ObjectIntputStream andthen reading the serialized object using the readObject() method in theObjectInputStream class. Therefore, the client’s activity will be arrangedapproximately as follows:a) Writing the String to the socketb) Obtaining the ObjectInputStream from the socket and reading the MessageImpl.

Write a client server application using Java sockets that allows a client to write a message (asa String) to a socket. A server will read this message, count the number of characters anddigits in the message, and send these two counts back to the client. The server will listen toport 6100. The client can obtain the String message that is to pass to the server either fromthe command line or by using a prompt to the user.One Strategy for sending the two counts back to the client is for the server to construct anobject containing:a) The message it receives from the clientb) A count of the number of characters in the messagec) A count of the number of digits in the messageThe server will read the String from the socket, construct a new object that implements theMessage interface, count the number of characters and digits in the String, and write thecontent of the Message object to the socket. The client will send a String to the serverand will wait for the server to respond with a message containing the count of the number ofcharacters and digits. Communication over the socket connection will require obtaining theInputStream and OutputStream for the socket.Objects that are written to or read from an OutputStream or InputStream must beserialized and therefore must implement the java.io.Serializable interface. Please,design a class named MessageImpl that implements both java.io.Serializableand the Message interface.Serializing an object requires obtaining a java.io.ObjectOutputStream and thenwriting the object using the writeObject() method in the ObjectOutputStreamclass. Thus, the server’s activity will be organized roughly as follows:a) Reading the String from the socketb) Constructing a new MessageImpl object and counting the number of charactersand digits in the messagec) Obtaining the ObjectOutputStream for the socket and writing theMessgaeImpl object to this output stream.Reading a serialized object requires obtaining a java.io.ObjectIntputStream andthen reading the serialized object using the readObject() method in theObjectInputStream class. Therefore, the client’s activity will be arrangedapproximately as follows:a) Writing the String to the socketb) Obtaining the ObjectInputStream from the socket and reading the MessageImpl.

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

اولا بالنسبة لعد الاحرف والارقام


String sentence = new String(receivePacket.getData());
for(int i = 0; i < sentence.length() ; i++)
{
if(sentence.charAt(i) >= '0'&&sentence.charAt(i) <= '9')
digCount++;
else if(sentence.charAt(i)!= ' ' )
chrCount++;

}
String sendS = "The number of digits is "+Integer.toString(digCount)+" the number of characters is "+ Integer.toString(chrCount);

.
..
.
.
.
.
.
sendData = sendS.getBytes();

ممكن بدل اللوب تسوي


int digiCount = sentence.replaceAll("\\D", "").length();
int chrCount = sentence.replaceAll("\\d", "").length();

تم تعديل بواسطه mental-driller
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

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

هذا هوى البر نامج

public interface Message
{
// Set the number of characters and digits in the message
public void setCounts();
// Get the number of characters a .. z A .. Z
public int getCharacterCount();
// Get the number of digits 0 .. 9
public int getDigitCount();
}


public implement MessageImpl

{String sentence =new String(receivePacket. getDigitCount ());
for(inti=0;i<sentence.length();i++)
{
if(sentence.charAt(i) >= '0'&&sentence. getCharacterCount (i) <= '9')
digCount++;
else if(sentence.charAt(i)!= ' ' )
chrCount++;

}
String sendS = "The number of digits is "+Integer.toString(digCount)+" the number of characters is "+ Integer.toString(chrCount);

send String = sendS.getBytes();}


Public class server

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

MessageImpl Socket serverSocket = new MessageImpl Socket(9876);

byte[] receive String = new byte[6100];
byte[] sendObject = new byte[6100];

while(true)
{

MessageImpl Packet receivePacket =
new MessageImpl Packet(receive String, receiveObject.length);

serverSocket.receive(receivePacket);

String sentence = new String(receivePacket.getDigitCount ());
InetAddress IPAddress = receivePacket.getDigitCount ();

int port = receivePacket.getDigitCountt();

String capitalizedSentence = sentence.toUpperCase();
sendObject = capitalizedSentence.getDigitCountt ();

MessageImpl Packet sendPacket =
new MessageImpl Packet(sendObject, sendObject.length, IPAddress, port);

serverSocket.send(sendPacket);
}
}
}

}


Public class client

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

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

MessageImpl Socket clientSocket = new MessageImpl Socket();

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

byte[] send String = new byte[6100];
byte[] receive Object = new byte[6100];

String sentence = inFromUser.readLine();

send String = sentence.getCharacterCount ();
MessageImpl Packet sendPacket =
new MessageImpl Packet(send String, send String.length, IPAddress, 9876);

clientSocket.send(sendPacket);

MessageImpl Packet receivePacket =
new MessageImpl Packet(receive Object, receive Object.length);

clientSocket.receive(receivePacket);

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

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

clientSocket.close();

}
}

}

وهذ1 السؤال يوجد فيه بعض التوضيحات

A Client-Server Application using Java Sockets
Write a client server application using Java sockets that allows a client to write a
message (as a String) to a socket. A server will read this message, count the
number of characters and digits in the message, and send these two counts back to the
client. The server will listen to port 6100. The client can obtain the String message
that is to pass to the server either from the command line or by using a prompt to the
user.
One Strategy for sending the two counts back to the client is for the server to
construct an object containing:
a) The message it receives from the client
b) A count of the number of characters in the message
c) A count of the number of digits in the message
Such an object can be modelled using the following interface:
public interface Message
{
// Set the number of characters and digits in the message
public void setCounts();
// Get the number of characters a .. z A .. Z
public int getCharacterCount();
// Get the number of digits 0 .. 9
public int getDigitCount();
}
The server will read the String from the socket, construct a new object that
implements the Message interface, count the number of characters and digits in the
String, and write the content of the Message object to the socket.
Thus, the server’s activity will be organized roughly as follows:
a) Reading the String from the socket
b) Constructing a new MessageImpl object and counting the number of characters
and digits in the message
c) Obtaining the ObjectOutputStream for the socket and writing the
MessgaeImpl object to this output stream.
Server Class
socket String Message
MessageImpl object
Socket MessageImpl object ObjectOutputStream
WriteObject()
Therefore, the client’s activity will be arranged
approximately as follows:
a) Writing the String to the socket
b) Obtaining the ObjectInputStream from the socket and reading the
MessageImpl.
Client Class
Socket String Message
Socket MessageImpl object ObjectInputStream ReadObject()

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

يا اخت دنيه بالنسبة لل MessageImpl

سويه ككلاس في ملف منفصل او ك private class داخل نفس الكلاس


private class MessageImpl implements Message
{

// Implement abstract methods here
}

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

يا اخي mental-driller

المطلوب ان نعمل كلاس MessageImpl ويكون به الميثود اللي راح تعد لنا الحروف والارقام

ثم عمل server و clint

الكلاينت كلاس : راح تكتب الجملة في الـ Socket

السيرفر كلاس : راح تقرا الجملة من الـ socket

ثم ننشئ opject من نوع MessageImpl من هذا الوبجكت راح نعد الارقام والحروف

بعد كذا راح نستخدم Object Output Stream<< وهذا اللي سالت عنه في موضوعي حول الـ Socket

السبب هوا اننا نكتب النتائج على الـ Socket كـobject وذلك باستخدام WriteObject()

ثم الكلاينت سيرفر ننشئ فيه Object Input Stream

ونقرا الاوبجكت الللي في الـ socket ..

بصراحة انا فاهمة السؤال تماما ... بس اعاني مع جمل الجافا لاني جدا جدا مبتدئة معاها ..

الجمل اللي ابغى اعرفها :

الجمل اللي تسوي الـ socket

الجمل اللي تكتب على الـ socket ( تكتب كاوبجكت )

الجمل اللي تقرا من الـ socket

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

بما انك عادك مبتدئه في الموضوع اقرأي الفصل الرابع والعشرين من كتاب Java how to program

ايضا يجب ان يكون لديكي فهم ولو طفيف لاساسيات الشبكات كالفرق بين UDP, TCP

ومن ثم عندما لا يفهم لكي شيء معين إن شاء الله اجاوبك عليه

مسألة MessageImpl ليست مشكله مثل كتبت بالاعلى قد تكتبين الكلاس ككلاس يعمل Implementation للانترفايس Message او كAnonymous Inner class

المهم كما ذكرت للاخت دينا تكتب السيرفر في برنامج منفصل والكلاينت برنامج منفصل و من ثم تشغل البرنامجين وهما سيتخاطبان عبر المنفذ 6100 او اي منفذ تحددونه

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

جربي هذا البرنامج

البرنامج الاول حق الكلاينت



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

class UDPClient {

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

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

DatagramSocket clientSocket = new DatagramSocket();

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

byte[] sendData ;
byte[] receiveData = new byte[1024];

String sentence = inFromUser.readLine();
sendData = sentence.getBytes();
DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, 9876);

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

clientSocket.close();

}
}

البرنامج الثاني حق السيرفر عبارة عن ثلاث ملفات

اولا الانترفايس


/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package Server;

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.
*/
package Server;

public class MessageImpl implements Message {

private int digitCount = 0, 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;
}
public static void main(String [] args){
MessageImpl m = new MessageImpl();
m.setCounts("Hello 2344");
System.out.println(m.getCharacterCount()+ " " + m.getDigitCount());
}
}

ثالثا الكلاس حق السيرفر


/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package Server;


import java.net.*;

class UDPServer {



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

DatagramSocket serverSocket = new DatagramSocket(9876);


byte[] receiveData = new byte[1024];
byte[] sendData ;

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

}
}

}

شغلي كل برنامج لحاله وراح يشتغل

post-244925-028684400 1305863316_thumb.j

تم تعديل بواسطه mental-driller
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

جمعه مباركه

أحولت أطبق البر نامج بس مورضى يشتغل وخرج الى

java.lang.NoClassDefFoundError: socket/Main
Caused by: java.lang.ClassNotFoundException: socket.Main
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Could not find the main class: socket.Main. Program will exit.
Exception in thread "main" Java Result: 1
BUILD SUCCESSFUL (total time: 0 seconds)

ياليت توضح وش الا أخطأ

وشكرا.

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

غيري اسم الكلاس اللي اسم الملف يطابق اسم الكلاس وكمان اختاري خصائص المشروع ومن run اختاري الكلاس اللي تشتي يبدأ منه التشغيل

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

بما انك تستخدمي الاكليبس

شوفي الخطوات في الصورة

اضغطي على اسم المشروع باليمين بعدين

run as -> Run Configuration

ومنه يفتح لك نافذه جديده اختاري منها Java Application

ومن هنا اضغطي search في مربع الmain class بيطلع لك الكلاسات اللي فيها داله Main اختاري حق السيرفر

post-244925-095200500 1305894423_thumb.j

post-244925-037214000 1305894445_thumb.j

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم ..

سويت البرنامج عندي ... بس البرنامج يطلع فيه اخطا عن الجملة package Server;

في كل الثلاثة الكلاسات

؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

شوفي في البرنامج عندك ايش اسم البكاج وغيري اسم البكاج علشان يطابق اللي عندك

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

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

ممكن توضح أكثر

وشكرا.

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

اولا شغلي السيرفر من خارج النت بينز من داخل المجلد حق dist

ثانيا تقدري تشغلي الكلاينت من النت بينز ولا من الكوماند لاين

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

هذا الكود المطلوبه بس الران ما يخرج شىء و الايوجد هناك أخطأ ياليت تشوفها وتردى اليوم ضرورى

وشكرا.

/*

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

}

}

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

شغلي الكلاينت من النت بينز ارجعي للصوره الي ارفقتها لما انا شغلته عندي شوفي اني كتبت داخل شاشة النت بينز نفسه

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

طبقت نفس الطريقه بس مايخرج شىء فى الشاشه مانى دريه هوى ممكن من الكود الآنى سويت بعض التعديلات المطلوبه

وشكرا.

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .