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

ارجو المساعدة cleint and server

بدأه لوليتا112 في 20 أكتوبر 2010 · 2 رد · 552 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله

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

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

package hw1;


import java.io.*;
import java.net.*;
public class clientSide
{
 	public static void main(String[] args) 
 	{

 		//declare ouputToServer object from DateOuputSream to send data to socket "server"
 		DataOutputStream outputToServer = null;

 		try
 		{
 			//declare a string to store serverName "or we can use IP address instead of".
 			String serverName = "localhost";

 			//declare an integer to store port #
 			int port = 3000;

 			//create client socket
 			Socket socket = new Socket(serverName, port);

     		// Create an output stream to send data to the server
      		outputToServer = new DataOutputStream(socket.getOutputStream()); 			
      	}
      	//exception handling 
    	catch (IOException ex) 
    	{
    		System.out.println("error ... no connection with server \n");
    	}
    	//declare int to store message from client to be sent to server
    	int clientMessage = 20;
        int clientMessage1 = 5;


    	try
   		{
   			System.out.println("start connection with server\n");

    			//write clientMessage to socket
    			outputToServer.writeUTF("client says : " + clientMessage);
                        outputToServer.writeUTF("client says : " + clientMessage1);

    			outputToServer.flush();

    	}
    	//exception handling
		catch (IOException e) 
		{
			System.out.println("Error ... no connection with server ");
		}
		try 
		{
			//close output sream 
			outputToServer.close();
			System.out.println("connection terminated\n");
		}           
		//exception handling
		catch (IOException e) 
		{
			System.out.println("Error tearing down socket connection: ");
		}
	}
}

السيرفررررررر

package hw1;


import java.io.*;

import java.net.*;
public class serverSide
{
 	public static void main(String[] args) 
 	{
 		//declare inputFromClient object from DateInuputSream to get data from socket "client"
 		DataInputStream inputFromClient = null;
 		//initialize port number
 		int port = 3000;
 		try
 		{
 			//create serverSocket to recive client request
 			ServerSocket server = new ServerSocket(port);

 			//print a message tell about listening to the port
 			System.out.println("listening to port : "+ port);

 			//declare a string to store message coming from client
    		int clientMessage;
                int clientMessage1;
                int clientMessage2=0;

    		//create a new socket to connect with client and accept the connection
    			Socket socket = server.accept();


    		//create input stream to read data from socket comming from client
 			inputFromClient = new DataInputStream(socket.getInputStream());

     		// Create an output stream to send data to the client
    		clientMessage2 = inputFromClient.read();
    		clientMessage = inputFromClient.read();
                clientMessage1 = inputFromClient.read();
    		//print serverMessage to server screen
                    clientMessage2=clientMessage+clientMessage1;
    		System.out.println("\n" + clientMessage2 + "\n");
    	}
    	//exception handling
    	catch (IOException ex) 
 	  	{
    		System.out.println("error ... no connection with client\n");
   		}
		try 
		{
			//close input stream
			inputFromClient.close();

			System.out.println("connection terminated\n");
		} 
		//exception handling
		catch (IOException e) 
		{
			System.out.println("Error tearing down socket connection: ");
		}
	}
}
#2

يمنكنك الاطلاع على هذا الكود

امبارح بس نفس السوال

/index.php?showtopic=230677

على ما اشوف الخطا عن حضرتك

Software Developer
Mahmoudkelany.com


 

#3

الكود بعد التعديل

جانب العميل

/**
 *
 * @author Mahmoud Kelany
 */
import java.io.*;

import java.net.*;

public class clientSide {

	public static void main(String[] args) {

    	//declare ouputToServer object from DateOuputSream to send data to socket "server"
    	DataOutputStream outputToServer = null;

    	try {
        	//declare a string to store serverName "or we can use IP address instead of".
        	String serverName = "localhost";

        	//declare an integer to store port #
        	int port = 3000;

        	//create client socket
        	Socket socket = new Socket(serverName, port);

        	// Create an output stream to send data to the server
        	outputToServer = new DataOutputStream(socket.getOutputStream());
    	} //exception handling
    	catch (IOException ex) {
        	System.out.println("error ... no connection with server \n");
    	}
    	//declare int to store message from client to be sent to server
    	int clientMessage = 20;
    	int clientMessage1 = 5;


    	try {
        	System.out.println("start connection with server\n");

        	//write clientMessage to socket
        	outputToServer.writeInt(clientMessage);
        	outputToServer.writeInt(clientMessage1);

        	outputToServer.flush();

    	} //exception handling
    	catch (IOException e) {
        	System.out.println("Error ... no connection with server ");
    	}
    	try {
        	//close output sream
        	outputToServer.close();
        	System.out.println("connection terminated\n");
    	} //exception handling
    	catch (IOException e) {
        	System.out.println("Error tearing down socket connection: ");
    	}
	}
}

وجانب السيرفر

/**
 *
 * @author Mahmoud Kelany
 */
import java.io.*;

import java.net.*;

public class serverSide {

	public static void main(String[] args) {
    	//declare inputFromClient object from DateInuputSream to get data from socket "client"
    	DataInputStream inputFromClient = null;
    	//initialize port number
    	int port = 3000;
    	try {
        	//create serverSocket to recive client request
        	ServerSocket server = new ServerSocket(port);

        	//print a message tell about listening to the port
        	System.out.println("listening to port : " + port);

        	//declare a string to store message coming from client
        	int clientMessage;
        	int clientMessage1;
        	int clientMessage2;

        	//create a new socket to connect with client and accept the connection
        	Socket socket = server.accept();


        	//create input stream to read data from socket comming from client
        	inputFromClient = new DataInputStream(socket.getInputStream());

        	// Create an output stream to send data to the client
        	clientMessage = inputFromClient.readInt();
        	clientMessage1 = inputFromClient.readInt();
        	//print serverMessage to server screen
        	clientMessage2 = clientMessage + clientMessage1;
        	System.out.println("\n" + clientMessage2 + "\n");
    	} //exception handling
    	catch (IOException ex) {
        	System.out.println("error ... no connection with client\n");
    	}
    	try {
        	//close input stream
        	inputFromClient.close();

        	System.out.println("connection terminated\n");
    	} //exception handling
    	catch (IOException e) {
        	System.out.println("Error tearing down socket connection: ");
    	}
	}
}

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

يعنى

حضرتك بترسلى int يقبى

outputToServer.writeInt(clientMessage);

وليس

outputToServer.writeUTF(string);

لان هذه ترسل String

الى غير ذلك ترتيب المتغيرات فالارسال هو نفسها فالاستقبال بالنسبه للسيرفر

اردت توضيح الخطأ

ولو فيه اى مشاكل تحت امرك

بالتوفيق :)

Software Developer
Mahmoudkelany.com


 

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