السلام عليكم.. أرجو مساعدتكم يا شباب
أريد كود برنامج في الجافا يقوم فيه أثنان clients بأجراء محادثة بينهما.. من عنده المعرفة والخبرة لأجابة مطلبي سأكون له شاكرا في مساعدته لي وجزاءه عند الله عظيم.
شكرا لكم ولكل من سيحاول مساعدتي..
السلام عليكم.. أرجو مساعدتكم يا شباب
أريد كود برنامج في الجافا يقوم فيه أثنان clients بأجراء محادثة بينهما.. من عنده المعرفة والخبرة لأجابة مطلبي سأكون له شاكرا في مساعدته لي وجزاءه عند الله عظيم.
شكرا لكم ولكل من سيحاول مساعدتي..
شكرا لك يا أخ مجدي على مساعدتك
ولكن أذا أمكن أن تدلني على كود للبرنامج ليس applet!!!
شكرا جزيلا لك
ألا يوجد من يعرف الكود المطلوب.. أبن المبرمجين والمشرفين
أرجو المساعدة
ستجد ما تطلبه في موقع www.deitel.com
ثم عليك الذهاب إلى downloads لكتاب إسمه Java How To Program ثم قم بتحميل Java Book Code Examples
و فيها تجد مجموعة رائعة من الأمثال على كتابة برامج جافا و منها client server connectivity
و تستطيع تحويل هذا البرنامج إلى ما تريد عن طريق زيادة class يستخدمه برنامح السيرفر ليعمل على
Multithreaded Clients
و الله ولي التوفيق
و كن فتى في ذرى العلياء همّته
موقع خاص بي
قمت بتصميم لعبة بسيطة بإستخدام اللغة الجميلة الجافا
برنامج جميل بلغة الجافا يساعد على تنظيم المشاكل
يمكنك استخدام هذا الكود لعمل chat
package betachat;
import java.io.*;
import java.net.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import com.borland.jbcl.layout.*;
public class BetaChat extends JFrame implements Runnable{
JPanel contentPane;
XYLayout xYLayout1 = new XYLayout();
JScrollPane jScrollPane1 = new JScrollPane();
JTextArea ta1 = new JTextArea();
JTextField tf1 = new JTextField();
JButton b1 = new JButton();
int port;
Socket socket;
DataOutputStream dos;
DataInputStream dis;
String str;
byte b[];
String s1;
Thread t;
//Construct the frame
public BetaChat() {
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
contentPane = (JPanel) this.getContentPane();
contentPane.setLayout(xYLayout1);
this.getContentPane().setBackground(new Color(0, 0, 124));
this.setSize(new Dimension(410, 310));
setResizable(false);
this.setTitle("Client");
ta1.setFont(new java.awt.Font("Dialog", 0, 15));
ta1.setText("");
tf1.setFont(new java.awt.Font("Dialog", 0, 20));
tf1.setSelectionStart(11);
tf1.setText("");
b1.setFont(new java.awt.Font("Castellar", 0, 13));
b1.setForeground(new Color(0, 0, 107));
b1.setText("Send");
b1.addActionListener(new BetaChat_b1_actionAdapter(this));
contentPane.add(jScrollPane1, new XYConstraints(6, 7, 387, 212));
jScrollPane1.getViewport().add(ta1, null);
contentPane.add(tf1, new XYConstraints(6, 231, 307, 38));
contentPane.add(b1, new XYConstraints(319, 232, 75, 36));
setVisible(true);
try {
socket = new Socket("127.0.0.1",2321);
}
catch (UnknownHostException ex) {
ex.printStackTrace();
}
catch (IOException ex) {
ex.printStackTrace();
}
Opening();
t= new Thread(this);
t.start();
}
public void Opening(){
try {
dos = new DataOutputStream(socket.getOutputStream());
}
catch (IOException ex2) {
ex2.printStackTrace();
}
try {
dis = new DataInputStream(socket.getInputStream());
}
catch (IOException ex) {
ex.printStackTrace();
}
}
public void Reciveing(){
while (true) {
try {
s1=dis.readUTF();
ta1.append("\n"+"Mohamed >> "+s1);
}
catch (IOException ex) {
ex.printStackTrace();
}
}
}
public void Sending(String Data){
try {
dos.writeUTF(Data);
}
catch (IOException ex) {
ex.printStackTrace();
}
}
public void Closeing(){
try {
dos.close();
}
catch (IOException ex) {
ex.printStackTrace();
}
try {
dis.close();
}
catch (IOException ex1) {
ex1.printStackTrace();
}
try {
socket.close();
}
catch (IOException ex2) {
ex2.printStackTrace();
}
}
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
System.exit(0);
}
}
void b1_actionPerformed(ActionEvent e) {
String str=tf1.getText();
Sending(str);
tf1.setText("");
String stt=ta1.getText();
ta1.setText(stt+"\n"+"Mohamed >>"+str);
}
public void run() {
Reciveing();
}
}
class BetaChat_b1_actionAdapter implements java.awt.event.ActionListener {
BetaChat adaptee;
BetaChat_b1_actionAdapter(BetaChat adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.b1_actionPerformed(e);
}
public BetaChat_b1_actionAdapter(Server server) {
}
}
package betachat;
import javax.swing.UIManager;
import java.awt.*;
/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright © 2004</p>
* <p>Company: </p>
* @author not attributable
* @version 1.0
*/
public class Demo {
boolean packFrame = false;
//Construct the application
public Demo() {
BetaChat frame = new BetaChat();
//Validate frames that have preset sizes
//Pack frames that have useful preferred size info, e.g. from their layout
if (packFrame) {
frame.pack();
}
else {
frame.validate();
}
//Center the window
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize = frame.getSize();
if (frameSize.height > screenSize.height) {
frameSize.height = screenSize.height;
}
if (frameSize.width > screenSize.width) {
frameSize.width = screenSize.width;
}
frame.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2);
frame.setVisible(true);
}
//Main method
public static void main(String[] args) {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}
catch(Exception e) {
e.printStackTrace();
}
new Demo();
}
}
//for the server//
package betachat;
import javax.swing.*;
import java.awt.*;
import com.borland.jbcl.layout.*;
import java.net.*;
import java.io.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.util.*;
import java.net.Socket;
/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright © 2004</p>
* <p>Company: </p>
* @author not attributable
* @version 1.0
*/
public class Server extends JFrame implements ActionListener,Runnable {
XYLayout xYLayout1 = new XYLayout();
JScrollPane jScrollPane1 = new JScrollPane();
JTextArea ta1 = new JTextArea();
JTextField tf1 = new JTextField();
JButton b1 = new JButton();
int port;
Socket socket;
DataOutputStream dos;
DataInputStream dis;
String str;
byte b[];
ServerSocket srv;
String s1;
Thread t=new Thread (this);
GridBagLayout gridBagLayout1 = new GridBagLayout();
public Server() {
setSize(410,310);
setResizable(false);
this.getContentPane().setBackground(new Color(0, 0, 124));
this.getContentPane().setLayout(xYLayout1);
ta1.setFont(new java.awt.Font("Dialog", 0, 15));
ta1.setText("");
tf1.setFont(new java.awt.Font("Dialog", 0, 20));
tf1.setText("");
b1.setFont(new java.awt.Font("Castellar", 0, 13));
b1.setForeground(new Color(0, 0, 107));
b1.setText("Send");
b1.addActionListener(this);
setTitle("Server");
this.getContentPane().add(jScrollPane1, new XYConstraints(7, 9, 385, 210));
jScrollPane1.getViewport().add(ta1, null);
this.getContentPane().add(tf1, new XYConstraints(5, 234, 306, 38));
this.getContentPane().add(b1, new XYConstraints(319, 233, 75, 39));
setVisible(true);
this.getContentPane().setLayout(gridBagLayout1);
port =2321;
try {
srv = new ServerSocket(port);
}
catch (IOException ex) {
ex.printStackTrace();
}
while(true){
try {
socket = srv.accept();
}
catch (IOException ex1) {
ex1.printStackTrace();
}
t.start();
Opening();
}
}
public void Opening(){
try {
dos = new DataOutputStream(socket.getOutputStream());
}
catch (IOException ex2) {
ex2.printStackTrace();
}
try {
dis = new DataInputStream( socket.getInputStream());
}
catch (IOException ex) {
ex.printStackTrace();
}
}
public void Sending(String Data){
try {
dos.writeUTF(Data);
}
catch (IOException ex) {
ex.printStackTrace();
}
}
public void Reciveing(){
while (true) {
try {
s1=dis.readUTF();
ta1.append("\n"+"Mohamed >> "+s1);
}
catch (IOException ex) {
ex.printStackTrace();
}
}
}
// Closeing Method
// ----------------
public void Closeing(){
try {
dos.close();
}
catch (IOException ex) {
ex.printStackTrace();
}
try {
dis.close();
}
catch (IOException ex1) {
ex1.printStackTrace();
}
try {
socket.close();
}
catch (IOException ex2) {
ex2.printStackTrace();
}
}
public static void main(String[] args) {
Server server = new Server();
}
/**
* actionPerformed
*
* @param e ActionEvent
*/
public void actionPerformed(ActionEvent e) {
String str=tf1.getText();
Sending(str);
tf1.setText("");
String stt=ta1.getText();
ta1.setText(stt+"\n"+"Mohamed >>"+str);
}
/**
* run
*/
public void run() {
Reciveing();
}
}
هذا الموضوع مغلق.