socket

server端



package socket.demo;

import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;


public class SocketServer {
    public static void main(String args[]){
        int port=5533;
        try {
            ServerSocket server=new ServerSocket(port);
            Socket socket=server.accept();
            System.out.println("server waiting");
            InputStream input=socket.getInputStream();
            byte[] bytes=new byte[1024];
            int length;
            StringBuilder sbBuilder=new StringBuilder();
            while((length=input.read(bytes))!=-1)   {
                sbBuilder.append(new String(bytes,0,length,"UTF-8"));
            }
            System.out.println("get msg from client"+sbBuilder);
            
            OutputStream out=socket.getOutputStream();
            out.write("i'm server,got your msg".getBytes());
            input.close();
            out.close();
            socket.close();
            server.close();
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        
    }

}

客户端:写完后,要立即关闭输出流(outputstream)

/**
* @author jy
*/
package socket.demo;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
import java.net.UnknownHostException;


public class SocketClient {

   /**
    * @param args
    *<p>Description: </p>  
    */
   public static void main(String[] args) {

       int port=5533;
       String ip="127.0.0.1";
       try {
           Socket socket=new Socket(ip,port);
           String msg="hello";
           OutputStream out=socket.getOutputStream();
           out.write(msg.getBytes());
           socket.shutdownOutput();
           
           InputStream in=socket.getInputStream();
           byte[] bytes=new byte[1024];
           StringBuilder sbBuilder=new StringBuilder();
           int len;
           while((len=in.read(bytes))!=-1){
               sbBuilder.append(new String(bytes,0,len,"UTF-8"));
           }
           System.out.println("client got msg from server"+sbBuilder);
           //out.close();
           in.close();
           socket.close();
       } catch (UnknownHostException e) {
           // TODO Auto-generated catch block
           e.printStackTrace();
       } catch (IOException e) {
           // TODO Auto-generated catch block
           e.printStackTrace();
       }
   }

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 大纲 一.Socket简介 二.BSD Socket编程准备 1.地址 2.端口 3.网络字节序 4.半相关与全相...
    VD2012阅读 2,456评论 0 5
  • 7.2 面向套接字编程我们已经通过了解Socket的接口,知其所以然,下面我们就将通过具体的案例,来熟悉Socke...
    lucas777阅读 1,207评论 0 2
  • Java Socket编程 对于Java Socket编程而言,有两个概念,一个是ServerSocket,一个是...
    天空下天的月亮阅读 2,080评论 10 41
  • 文/宏立记录 1意想不到今天周六是否大家都停止咯工作在公司做着自己相应的事,下午4点开车到公司,没有看到几个人… ...
    光瞄芭比阅读 132评论 0 0
  • 经历过那场战争的人,没有人不记得铁炉将军。很少有人能把儿时的梦想变为现实,他就是其中一个。 换岗后,雅岚鬼头鬼脑得...
    狗哥阅读 269评论 0 1