首页 > 学院 > 开发设计 > 正文

Socket

2019-11-08 18:34:43
字体:
来源:转载
供稿:网友

客户端:

public class MyClient {	public static void main(String[] args) {				try {			Socket s = new Socket("192.168.0.106",9090);			OutputStream ops = s.getOutputStream();			ops.write("gg".getBytes());			ops.close();		} catch (IOException e) {						e.PRintStackTrace();		}			}}服务端:

public class MyServer {	public static void main(String[] args) {		try {				ServerSocket serverSocket = new ServerSocket(9090);				System.out.println("服务器开启");				while(true){									Socket socket = serverSocket.accept();					new ServiceThread(socket);				}		} catch (IOException e) {						e.printStackTrace();		}	}}

服务端线程

public class ServiceThread implements Runnable{		Socket socket;	private InputStream iS;	public ServiceThread(Socket socket){		this.socket = socket;		InetAddress address = socket.getInetAddress();		System.out.println("---客户端连接:"+address+"---");		try {			iS = socket.getInputStream();		} catch (IOException e) {						e.printStackTrace();		}		new Thread(this).start();	}		@Override	public void run() {		while(true){			try{			String msg = MessageUtil.read(iS);			System.out.println("客户端发送的消息:"+msg);			Thread.sleep(200);			}catch(Exception e){				System.out.println("---客户端关闭连接---");				break;			}		}			}}信息的读与写的方法

public class MessageUtil {	public static String read(InputStream iS){								try {										byte[] b = new byte[1024];//缓存数组(1k)					int length = -1;					String content = "";					while((length = iS.read(b))!= -1){						String result = new String(b,0,length);						if("#end#".equals(result)){							break;						}else{							content += result;						}					}					return content;				} catch (Exception e) {					throw new RuntimeException();				}					}	public static void write(OutputStream ops,String t){		try {			ops.write(t.getBytes());			ops.write("#end#".getBytes());		} catch (IOException e) {						e.printStackTrace();		}				}	}


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表