& lt-服務器端>
//實現多線程網絡連接
包cn.socket
導入Java . io . *;
導入Java . net . *;
公共類SocketServerTrue {
公共SocketServerTrue()
{
嘗試{
//服務器打開壹個端口
System.out.println("等待連接...");
server socket ss = new server socket(8090);
//等待連接並返回socket類型的對象。
socket s = ss . accept();
System.out.println("連接成功,等待客戶端輸入信息!");
//獲取客戶端的信息。
InputStreamReader ISR = new InputStreamReader(s . getinputstream());
BufferedReader br =新buffered reader(ISR);
//將信息傳遞給客戶端
PrintWriter pw = new PrintWriter(s . get output stream(),true);
//從控制臺實現數據輸入。
InputStreamReader isrS = new InputStreamReader(system . in);
BufferedReader brS =新buffered reader(isrS);
while(真)
{
//獲取客戶端的信息。
string info = br . readline();
//判斷是否結束。
if(info.equals("bye "))
{
System.out.println("對話結束!");
s . close();
打破;
}
System.out.println("對方說:"+info);
//將信息傳遞給客戶端。
string infoC = BRS . readline();
pw . println(infoC);
if(infoC.equals("bye "))
{
System.out.println("對話結束!");
s . close();
打破;
}
}
} catch (IOException e) {
// TODO自動生成的catch塊
e . printstacktrace();
}
}
/**
* @param args
*/
公共靜態void main(String[] args) {
// TODO自動生成的方法存根
socket server true SSM = new socket server true();
}
}
& lt-客戶端>
//客戶端(多線程)
包cn.socket
導入Java . io . *;
導入Java . net . *;
公共類SocketClientTrue {
公共SocketClientTrue()
{
//連接到服務器
嘗試{
插座s =新插座(" 127.0.0.1 ",8090);
System.out.println("連接成功,與服務器通話!");
//傳遞給服務器的信息
PrintWriter pw = new PrintWriter(s . get output stream(),true);
//獲取服務器信息
InputStreamReader ISR = new InputStreamReader(s . getinputstream());
BufferedReader br =新buffered reader(ISR);
//從控制臺輸入信息
InputStreamReader isrC = new InputStreamReader(system . in);
BufferedReader brC =新buffered reader(isrC);
while(真)
{
//與服務器通話
string infoS = BRC . readline();
pw . println(infoS);
if(infoS.equals("bye "))
{
System.out.println("對話結束!");
s . close();
打破;
}
//獲取服務器的信息
string info = br . readline();
if(info.equals("bye "))
{
System.out.println("對話結束!");
s . close();
打破;
}
System.out.println("對方說:"+info);
}
} catch (UnknownHostException e) {
// TODO自動生成的catch塊
e . printstacktrace();
} catch (IOException e) {
// TODO自動生成的catch塊
e . printstacktrace();
}
}
/**
* @param args
*/
公共靜態void main(String[] args) {
// TODO自動生成的方法存根
socket client true SCM = new socket client true();
}
}