PDA

View Full Version : نمونه برنامه سوکتهای دیتاگرام یا سوکتهای استریم



goldpower
پنج شنبه 07 فروردین 1393, 21:20 عصر
سلام
از دوستان کسی نمونه برنامه سوکتهای دیتاگرام یا سوکتهای استریم که با eclipse نوشته شده باشه و ظاهر گرافیکی هم داشته باشه سراغ نداره؟

goldpower
جمعه 08 فروردین 1393, 09:50 صبح
نمونه برنامه :

سرور:
package test;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;

public class TestServerSocket {

public static void main(String args[]) throws IOException {
final int portNumber = 81;
System.out.println("Creating server socket on port " + portNumber);
ServerSocket serverSocket = new ServerSocket(portNumber);
while (true) {
Socket socket = serverSocket.accept();
OutputStream os = socket.getOutputStream();
PrintWriter pw = new PrintWriter(os, true);
pw.println("What's you name?");

BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String str = br.readLine();

pw.println("Hello, " + str);
pw.close();
socket.close();

System.out.println("Just said hello to:" + str);
}
}
}

کلاینت:
package test;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;

public class TestClientSocket {

public static void main(String args[]) throws IOException {
final String host = "localhost";
final int portNumber = 81;
System.out.println("Creating socket to '" + host + "' on port " + portNumber);

while (true) {
Socket socket = new Socket(host, portNumber);
BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);

System.out.println("server says:" + br.readLine());

BufferedReader userInputBR = new BufferedReader(new InputStreamReader(System.in));
String userInput = userInputBR.readLine();

out.println(userInput);

System.out.println("server says:" + br.readLine());

if ("exit".equalsIgnoreCase(userInput)) {
socket.close();
break;
}
}
}
}