Simple Socket Example
1.服務(wù)端
import
?java.io.DataOutputStream;
import
?java.io.IOException;
import
?java.net.ServerSocket;
import
?java.net.Socket;


/**?*/
/**
?*?Socket服務(wù)端程序
?*?
?*?
@author
?zJun
?*?
?
*/
public
?
class
?Server?
{

????
private
?ServerSocket?server;

????
private
?DataOutputStream?output;

????
private
?Socket?socket;


????
public
?Server()?
{

????????
try
?
{
????????????
//
?在端口5000建立服務(wù)
????????????server?
=
?
new
?ServerSocket(
5000
);
????????????System.out.println(
"
服務(wù)創(chuàng)建.
"
);
????????????System.out.println(
"
等待客戶端連接
"
);
????????????socket?
=
?server.accept();
????????????System.out.println(
"
客戶端已連接.\n關(guān)閉!
"
);
????????????output?
=
?
new
?DataOutputStream(socket.getOutputStream());
????????????output.writeUTF(
"
歡迎你.再見(jiàn)!
"
);
????????????output.close();
????????????server.close();

????????}
?
catch
?(IOException?e)?
{
????????????e.printStackTrace();
????????????System.exit(
1
);
????????}
????}
????
public
?
static
?
void
?main(String?args[])?
{
????????Server?game?
=
?
new
?Server();
????}
}
2.客戶端
import
?java.io.DataInputStream;
import
?java.io.IOException;
import
?java.net.InetAddress;
import
?java.net.Socket;
import
?java.net.UnknownHostException;


public
?
class
?Client?
{
????
private
?Socket?client;

????
private
?DataInputStream?input;


????
public
?Client(String?server,?
int
?port)?
{

????????
try
?
{
????????????
//
?連接服務(wù)
????????????
if
?(server.equals(
"
localhost
"
))?
{
????????????????client?
=
?
new
?Socket(InetAddress.getLocalHost(),?port);

????????????}
?
else
?
{
????????????????client?
=
?
new
?Socket(InetAddress.getByName(server),?port);
????????????}
????????????
//
?從服務(wù)器讀取信息
????????????input?
=
?
new
?DataInputStream(client.getInputStream());
????????????String?info?
=
?input.readUTF();
????????????System.out.println(info);
????????????
//
?關(guān)閉連接
????????????client.close();

????????}
?
catch
?(UnknownHostException?e)?
{
????????????e.printStackTrace();

????????}
?
catch
?(IOException?e)?
{
????????????e.printStackTrace();
????????}
????}
????
public
?
static
?
void
?main(String[]?args)?
{
????????Client?client?
=
?
new
?Client(
"
localhost
"
,?
5000
);
????}
}






















































2.客戶端




















































posted on 2007-07-24 19:01 zJun's帛羅閣 閱讀(2298) 評(píng)論(1) 編輯 收藏 所屬分類: Java基礎(chǔ)