- 相關推薦
Javasocket應用實例
引導語:運用Java,我們可以編出很多有趣的小程序,以下是百分網小編分享給大家的Javasocket應用實例,希望大家喜歡!
用于本機上的客戶端與服務器對話的小程序:
客戶端:
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.Socket;
public class Client extends Thread
{
public void Write() throws Exception
{
Socket s=new Socket("127.0.0.1",12345);
BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String message="客戶端說:";
while(!(message.equals("")))
{
message=br.readLine();
System.out.println("客戶端說:"+message);
bw.write(message+"\n");
bw.flush();
}
bw.close();
s.close();
}
public void run()
{
Socket m=null;
BufferedReader dr=null;
try
{
m=new Socket("127.0.0.1",12345);
dr=new BufferedReader(new InputStreamReader(m.getInputStream()));
String msg="服務器說:";
while(!(msg.equals("")))
{
msg=dr.readLine();
System.out.println("服務器說:"+msg);
}
}
catch(Exception e){e.printStackTrace();}
finally
{
try
{
dr.close();
m.close();
}
catch(Exception e){e.printStackTrace();}
}
}
public static void main(String args[])throws Exception
{
Client c=new Client();
c.start();
c.Write();
}
}
服務器:
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class Server extends Thread
{
private ServerSocket ss=null;
public Server ()throws Exception
{
ss=new ServerSocket(12345);
}
public void Write()throws Exception
{
Socket s=ss.accept();
BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String message="服務器說:";
while(!(message.equals("")))
{
message=br.readLine();
System.out.println("服務器說:"+message);
bw.write(message+"\n");
bw.flush();
}
//bw.close();
s.close();
}
public void run()
{
Socket m=null;
BufferedReader dr=null;
try
{
m=ss.accept();
dr=new BufferedReader(new InputStreamReader(m.getInputStream()));
String msg="客戶端說:";
while(!(msg.equals("")))
{
msg=dr.readLine();
System.out.println("客戶端:"+msg);
}
}
catch(Exception e){e.printStackTrace();}
finally
{
try
{
dr.close();
m.close();
}
catch(Exception e){e.printStackTrace();}
}
}
public static void main(String args[])throws Exception
{
Server s=new Server();
s.start();
s.Write();
}
}
用于本地群聊的小程序:
客戶端:
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.Socket;
public class Friendclient extends Thread
{
public void Writer() throws Exception
{
Socket s=new Socket("127.0.0.1",54321);
BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String message="本客戶端說:";
while(!(message.equals("goodbye")))
{
message=br.readLine();
System.out.println("客戶端說:"+message);
bw.write(message+"\n");
bw.flush();
}
bw.close();s.close();
}
public void run()
{
BufferedReader bq=null;
Socket st=null;
try
{
st=new Socket("127.0.0.1",54321);
bq=new BufferedReader(new InputStreamReader(st.getInputStream()));
String msg="其他客戶端說:";
while(!(msg.equals("")))
{
msg=bq.readLine();
System.out.println("其他客戶端說:"+msg);
}
}
catch(Exception e){e.printStackTrace();}
finally
{
try
{
bq.close();st.close();
}
catch(Exception e){e.printStackTrace();}
}
}
public static void main(String args[])throws Exception
{
Friendclient ft=new Friendclient();
ft.start();
ft.Writer();
}
}
服務器端:
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.ArrayList;
public class Allserver
{
private ServerSocket ss=null;
private static ArrayList al=new ArrayList();
public Allserver() throws Exception
{
ss=new ServerSocket(54321);
while(true)
{
Socket s=ss.accept();
al.add(s);
new Mtherd(s).start();
}
}
private class Mtherd extends Thread
{
private Socket sd=null;
private BufferedReader br=null;
//private BufferedWriter bw=null;
public Mtherd(Socket sd)throws Exception
{
this.sd=sd;
br=new BufferedReader(new InputStreamReader(sd.getInputStream()));
//bw=new BufferedWriter(new OutputStreamWriter(sd.getOutputStream()));
}
public void run()
{
try
{
String gh="...................";
while(true)
{
gh=br.readLine();
setAll(gh);
}
}
catch(Exception e){e.printStackTrace();}
}
public void setAll(String x)throws Exception
{
Socket ss=null;
BufferedWriter bv=null;
for(int i=0;i
{
ss=(Socket)al.get(i);
bv=new BufferedWriter(new OutputStreamWriter(ss.getOutputStream()));
bv.write(x+"\n");
bv.flush();
}
}
}
public static void main(String args[])throws Exception
{
new Allserver();
}
}
【Javasocket應用實例】相關文章:
javasocket服務端技巧10-22
英語書面表達提綱類應用文寫作分析實例09-18
PHP socket的配置及實例10-16
php查詢mysql的實例09-09
PS嘴唇處理實例07-06
地道美式短語及實例07-22
C語言數組實例解析10-21
CSS和JavaScript腳本實例10-26
java調用c函數的實例09-16
php中fsockopen用法實例06-20