InstagramTwitterSnapChat


 
وصف

العودة   منتديات سكاو > الكليات الجامعية > منتدى كلية الحاسبات وتقنية المعلومات > منتدى قسم علوم الحاسبات
التسجيل مشاركات اليوم البحث
   
   


(مساعدة Java) إضافة Bottun يظهر المستخدمين المتصلين بالسيرفر

منتدى قسم علوم الحاسبات

إضافة رد
 
أدوات الموضوع إبحث في الموضوع انواع عرض الموضوع
منتديات طلاب وطالبات جامعة الملك عبد العزيز منتديات طلاب وطالبات جامعة الملك عبد العزيز
  #1  
قديم 19-01-2011, 09:31 AM
الصورة الرمزية baby heart

baby heart baby heart غير متواجد حالياً

جامعي

 
تاريخ التسجيل: Jan 2010
التخصص: نظم معلومات ادارية
نوع الدراسة: إنتظام
المستوى: الخامس
الجنس: أنثى
المشاركات: 4
Red face (مساعدة Java) إضافة Bottun يظهر المستخدمين المتصلين بالسيرفر


(مساعدة Java) إضافة Bottun يظهر المستخدمين المتصلين بالسيرفر


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


انا عندي برنامج جاهز بلغة الجافا وابغى اعرف كيف اضيف له Bottun يظهر لي المستخدمين المتصلين بالسيرفر :confused::confused:
البرنامج TCP Chat


هنا السيرفر

كود PHP:
//: TCPChatServer.java
//  SYNOPSIS:     TCPChatServer
//  DEION:  The program creates a TCP socket in the inet
//                listen for connections from TCPClients, accept
//                clients into private sockets.
////////////////////////////////////////////////////////////////

import java.io.*;
import java.net.*;
import java.util.*;
import static java.lang.System.out;

class 
EchoServe extends Thread {

  private 
Socket socket;
  private 
BufferedReader in;
  private 
PrintWriter out;

  public 
EchoServe (Socket s)
      
throws IOException {
    
socket s;
    
System.out.println("Serving: "+socket);
    
in =
      new 
BufferedReader(
        new 
InputStreamReader(
          
socket.getInputStream()));
    
// Enable auto-flush:
    
out =
      new 
PrintWriter(
        new 
BufferedWriter(
          new 
OutputStreamWriter(
            
socket.getOutputStream())), true);
    
// add the connected client out stream to the vector
    
TCPChatServer.outToClients.add(out);
    
// If any of the above calls throw an
    // exception, the caller is responsible for
    // closing the socket. Otherwise the thread
    // will close it.
    
start(); // Calls run()
  
}
    public 
void run() {
    try {
    while (
true)
    {
         
System.out.println("....Server is waiting...");
         
String str in.readLine();
         if (
str== null ) break;
         
TCPChatServer.boradcast(str);
    }
    
System.out.println("Disconnected with.."+socket);
    
// Remove client from the vector
    
} catch (IOException e) {
    } 
finally {
        try {
        
socket.close();
        } catch(
IOException e) {}
    }
    }
}

public class 
TCPChatServer {
Vector<Stringusers = new Vector<String>();
  static 
Vector  <PrintWriteroutToClients = new Vector<PrintWriter>();
  static 
int PORT=12345// assign to next avalible Port.

   
public static void boradcast(String message)  {
        
// send message to all connected users
        
for ( PrintWriter c outToClients )
        {
            
c.println(message);
            
c.flush();
           }

  }
  public static 
void main(String[] args)
      
throws IOException {
      if (
args.length == 1) {
      
PORT=Integer.parseInt(args[0]); // assign to a given Port.
      
}
    
// Create a Server Socket.
    
ServerSocket s = new ServerSocket(PORT);
    
InetAddress  addrsInetAddress.getLocalHost();
    
// Or InetAddress  addrs= InetAddress.getByName("localhost");
    // Or InetAddress  addrs= InetAddress.getByName("127.0.0.1");

    
System.out.println("TCP/Server running on : "addrs +" ,Port "+s.getLocalPort());

    try {
    while(
true) {
        
// Blocks until a connection occurs:
        
Socket socket s.accept();
        try {
        new 
EchoServe(socket);  // Handle the incoming Client.
        
} catch(IOException e) {
        
// If it fails, close the socket,
        // otherwise the thread will close it:
          
socket.close();
                              }
    }
       } 
finally {
      
s.close();
    }
  }
///:~ 


وهناا الكلاينت

كود PHP:
import java.awt.*;
import java.awt.event.*;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import java.net.Socket;
import java.io.*;
import java.net.*;
import java.util.*;
import javax.swing.JOptionPane;
import static java.lang.System.out;

public class 
TCPChatClient extends JFrame implements ActionListener {

    private final 
String screenName;

    
// GUI stuff
    
private JTextArea  enteredText = new JTextArea(1032);
    private 
JTextField typedText   = new JTextField(32);

    
// socket for connection to chat server
    
private Socket socket;

    
// for writing to and reading from the server
   
private BufferedReader in;
   private 
PrintWriter out;

    public 
TCPChatClient(String screenNameString hostName) {

        
// connect to server
        
try {
            
socket = new Socket(hostName12345);
            
in =
              new 
BufferedReader(
                new 
InputStreamReader(
                  
socket.getInputStream()));
            
// Enable auto-flush:
            
out =
              new 
PrintWriter(
                new 
BufferedWriter(
                  new 
OutputStreamWriter(
                    
socket.getOutputStream())), true);
        }
        catch (
Exception ex) { ex.printStackTrace(); }
        
this.screenName screenName;

        
// close output stream  - this will cause listen() to stop and exit
        
addWindowListener(
            new 
WindowAdapter() {
                public 
void windowClosing(WindowEvent e) {
                    
out.close();
                }
            }
        );


        
// create GUI stuff
        
enteredText.setEditable(false);
        
enteredText.setBackground(Color.PINK);
        
typedText.addActionListener(this);

        
Container content getContentPane();
        
content.add(new JScrollPane(enteredText), BorderLayout.CENTER);
        
content.add(typedTextBorderLayout.SOUTH);


        
// display the window, with focus on typing box
        
setTitle("Chat Client 1.0: [" screenName "]");
        
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        
pack();
        
typedText.requestFocusInWindow();
        
setVisible(true);

    }

    
// process TextField after user hits Enter
    
public void actionPerformed(ActionEvent e) {
        
out.println("[" screenName "]: " typedText.getText());
        
typedText.setText("");
        
typedText.requestFocusInWindow();
    }

    
// listen to socket and print everything that server broadcasts
    
public void listen() {
        
String s;
        try{

        while ((
in.readLine()) != null) {
            
enteredText.insert("\n"enteredText.getText().length());
            
enteredText.setCaretPosition(enteredText.getText().length());
        }
        
out.close();
        
in.close();
        } catch(
IOException e) {}
        try                 { 
socket.close();      }
        catch (
Exception e) { e.printStackTrace(); }
        
System.err.println("Closed client socket");
    }

    public static 
void main(String[] args)  {
        
String name JOptionPane.showInputDialog "Enter your name" );
        
TCPChatClient client = new TCPChatClient(name"localhost");
        
client.listen();
    }

رد مع اقتباس

 

منتديات طلاب وطالبات جامعة الملك عبد العزيز منتديات طلاب وطالبات جامعة الملك عبد العزيز
قديم 21-01-2011, 05:51 AM   #2

Master-Anime

جامعي

 
تاريخ التسجيل: Jun 2008
التخصص: IT
نوع الدراسة: إنتظام
المستوى: الخامس
الجنس: ذكر
المشاركات: 170
افتراضي رد: (مساعدة Java) إضافة Bottun يظهر المستخدمين المتصلين بالسيرفر

اهلا اخوي

انت قصدك عداد وليس بتوم صح

الامر سهل فقط عرف عداد وعده في وايل لوب
حيث مع كل اتصال يزيد العداد وذلك عن طريق الثريد حيث كل ثريد ياخذ عداد

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

اما اذا كنت منتظر . راح ارسل لك الحل يوم الاحد باذن الله
لانه عندي اختبارات الى الاحد الجاي

بس انا عطيتك الفكرة اوكي

 

Master-Anime غير متواجد حالياً   رد مع اقتباس
 

منتديات طلاب وطالبات جامعة الملك عبد العزيز منتديات طلاب وطالبات جامعة الملك عبد العزيز
قديم 21-01-2011, 11:43 PM   #3

baby heart

جامعي

الصورة الرمزية baby heart

 
تاريخ التسجيل: Jan 2010
التخصص: نظم معلومات ادارية
نوع الدراسة: إنتظام
المستوى: الخامس
الجنس: أنثى
المشاركات: 4
افتراضي رد: (مساعدة Java) إضافة Bottun يظهر المستخدمين المتصلين بالسيرفر

صحيح كلامك . . بواسطة عداد

انــآ بانتظـــآرك

الله يوفقك في جميع اختباراتك أخوي ويفتح عليك

شكرا مقدمـــا

 

baby heart غير متواجد حالياً   رد مع اقتباس
 

إضافة رد


تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة

الانتقال السريع

 


الساعة الآن 03:42 PM


Powered by vBulletin® Version 3.8.9 Beta 3
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Ads Organizer 3.0.3 by Analytics - Distance Education

أن كل ما ينشر في المنتدى لا يمثل رأي الإدارة وانما يمثل رأي أصحابها

جميع الحقوق محفوظة لشبكة سكاو

2003-2023