JAva Tcp通信クライアントとサーバ側インスタンス
3337 ワード
この例ではjava Tcp通信クライアントとサーバ側について説明します.皆さんの参考にしてください.具体的には以下の通りです.
サーバ側からのデータ送信
サーバ側:
ユーザー側:
クライアント側でもサーバ側でもデータの送受信が可能です.
インタラクティブ
ユーザー側
サーバ側:
Javaに関する詳細については、「Java Socketプログラミングテクニックまとめ」、「Javaファイルとディレクトリ操作テクニックまとめ」、「Javaデータ構造とアルゴリズムチュートリアル」、「Java操作DOMノードテクニックまとめ」、「Javaキャッシュ操作テクニックまとめ」のトピックを参照してください.
本文で述べたjavaプログラム設計に役立つことを願っています.
サーバ側からのデータ送信
サーバ側:
import java.io.*;
import java.net.*;
public class TestSocket {
public static void main(String[] args) {
try {
ServerSocket ss = new ServerSocket(8888);
while(true) {
Socket s = ss.accept();
OutputStream os = s.getOutputStream();
DataOutputStream dos = new DataOutputStream(os);
dos.writeUTF("hello" + s.getInetAddress() + "port" + s.getPort() + "beybye");
dos.close();
// os.flush();
os.close();
// s.close();
}
} catch (IOException e) {
e.printStackTrace();
System.out.println("there is a wrong");
}
}
}
ユーザー側:
import java.io.*;
import java.net.*;
public class TestClient {
public static void main(String[] args){
try {
Socket s = new Socket("127.0.0.1",8888);
DataInputStream dis = new DataInputStream(s.getInputStream());
System.out.println(dis.readUTF());
s.close();
dis.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
クライアント側でもサーバ側でもデータの送受信が可能です.
インタラクティブ
ユーザー側
import java.io.*;
import java.net.*;
public class TestClient2 {
public static void main(String[] args){
try {
Socket s = new Socket("127.0.0.1",8886);
DataOutputStream dos = new DataOutputStream(s.getOutputStream());
DataInputStream dis = new DataInputStream(s.getInputStream());
System.out.println(dis.readUTF());
dos.writeUTF("hey");
String str = null;
if((str = dis.readUTF()) != null) {
System.out.println(str);
}
s.close();
dis.close();
dos.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
サーバ側:
public class TestServer2 {
public static void main(String[] args) {
InputStream in = null;
OutputStream out = null;
try {
ServerSocket ss = new ServerSocket(8886);
while(true) {
Socket s = ss.accept();
in = s.getInputStream();
out = s.getOutputStream();
DataOutputStream dos = new DataOutputStream(s.getOutputStream());
DataInputStream dis = new DataInputStream(s.getInputStream());
String str = null;
if((str = dis.readUTF() )!= null) {
System.out.println(str);
System.out.println("form " + s.getInetAddress());
System.out.println("port " + s.getPort());
// dos.writeUTF("hello" + s.getInetAddress() + "port" + s.getPort() + "beybye");
}
dos.writeUTF("hi hello");
dis.close();
dos.close();
s.close();
}
} catch (IOException e) {
e.printStackTrace();
System.out.println("there is a wrong");
}
}
}
Javaに関する詳細については、「Java Socketプログラミングテクニックまとめ」、「Javaファイルとディレクトリ操作テクニックまとめ」、「Javaデータ構造とアルゴリズムチュートリアル」、「Java操作DOMノードテクニックまとめ」、「Javaキャッシュ操作テクニックまとめ」のトピックを参照してください.
本文で述べたjavaプログラム設計に役立つことを願っています.