?? chatsocket.java
字號:
//【例10.2】 采用Socket通信實現的聊天室程序。
//③ Socket通信中的客戶端程序
import java.net.*;
import java.io.*;
public class ChatSocket
{
private ChatJFrame chatframe; //聊天室的圖形用戶界面
private Socket client; //客戶端Socket對象
public ChatSocket(String host, int port, String name) //主機名、端口號、網名
{
try
{
client = new Socket(host,port); //創建一個Socket對象時向指定主機的端口發出TCP連接請求
BufferedReader cin = new BufferedReader(new InputStreamReader(client.getInputStream()));
//獲得Socket對象的輸入流,創建字符輸入流
PrintWriter cout = new PrintWriter(client.getOutputStream(),true);
//獲得Socket對象的輸出流,創建字符輸出流
chatframe = new ChatJFrame(name," 客戶端 主機"+host+" 端口"+port,cout);
//創建聊天室的圖形用戶界面
cout.println(name); //將自己網名發送給對方
chatframe.receive("連接 "+cin.readLine()); //接收并顯示已連接的對方網名
String aline = "";
do //從輸入流接收對方發來的字符串
{
aline = cin.readLine();
if (aline!=null && !aline.equals("bye")) //"bye"是約定的離線信息
chatframe.receive(aline);
}while (aline!=null && !aline.equals("bye"));
chatframe.setWriter(null); //設置聊天室界面的輸出流對象為空
cin.close();
cout.close();
client.close(); //關閉Socket連接
}
catch(IOException e) {}
}
public static void main(String args[])
{
new ChatSocket("localhost",2001,"小蜜蜂"); //指定主機和端口號,指定網名
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -