您的位置:首页 > 其它

一个简单的socket例子

2010-05-21 10:26 459 查看
首先定义好服务器端,并设定需要监听的端口。

public class MyServer {

public static void main(String args[]){

try {

ServerSocket server = new ServerSocket(8889);

Socket socket = server.accept();

BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));

PrintWriter write = new PrintWriter(socket.getOutputStream());

System.out.println(socket.getLocalAddress().toString());

System.out.println(socket.getPort());

while(true){

String str = reader.readLine();

System.out.println(str);

write.println("here receive...");

write.flush();

if("end".equals(str)){

break;

}

//write.close();

}

System.out.println("END...");

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

其次是客户端,发出对定义好的服务器端口的请求。

public class MyClient {

Socket socket;

public MyClient(){

try {

socket = new Socket(InetAddress.getLocalHost(),8889);

BufferedReader in=new BufferedReader(new InputStreamReader(socket.getInputStream()));

PrintWriter out=new PrintWriter(socket.getOutputStream());

BufferedReader write = new BufferedReader(new InputStreamReader(System.in));

while(true){

String str= write.readLine();

out.println(str);

out.flush();

if("end".equals(str)){

break;

}

}

System.out.println(in.readLine());

socket.close();

} catch (UnknownHostException e) {

// TODO Auto-generated catch block

e.printStackTrace();

System.out.println(e);

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

System.out.println(e);

}

}

public static void main(String args[]){

new MyClient();

}

}

如此这般,就完成了一次简单的socke请求。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: