您的位置:首页 > 其它

Socket实现简单通信

2015-10-10 22:47 253 查看
我们通过下面一个例子学习

Socket通信基本原理

1.客户端

package com.suzhu;

import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.net.Socket;
import java.net.UnknownHostException;

public class Cllient {

/**
* @param args
* @throws IOException
* @throws UnknownHostException
*/
public static void main(String[] args) throws UnknownHostException, IOException {
//建立一个客户端,向本机地址9999端口发送消息
Socket socket=new Socket("localhost",9999);
//构造一个PrintStream流,往服务端发送消息
PrintStream out=new PrintStream(socket.getOutputStream());
//发送我是客户端的消息
out.println("我是客户端");
//构造一个BufferedReader流,从服务端接收消息
BufferedReader in=new BufferedReader(new InputStreamReader(socket.getInputStream()));
//接收一行字符串
String str=in.readLine();
//在客户端输出字符串
System.err.println(str);
out.flush();
out.close();
in.close();

}

}




2..服务端

package com.suzhu;

import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;

public class Server {

/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
//建立一个服务端
ServerSocket serverSocket=new ServerSocket(9999);
//监听端口
Socket socket=serverSocket.accept();
//构造一个BufferedReader流,读取客户端消息
BufferedReader in=new BufferedReader(new InputStreamReader(socket.getInputStream()));
//读入客户端一行字符串
String str=in.readLine();
//在服务端输出我是客户端
System.out.println(str);
//构造一个PrintStream流,往客户端发送消息
PrintStream out=new PrintStream(socket.getOutputStream());
//往客户端发送消息:我是服务器
out.println("我是服务器");
out.flush();
out.close();
in.close();
}

}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  socket 通信