您的位置:首页 > 理论基础 > 计算机网络

java网络编程实现客户端连接服务器端,并发送消息例子(1)。(阻塞式的方法)

2015-06-27 11:06 966 查看
昨天晚上学了网络线程,并写了一个,客户端连接服务器的简单例子,有点QQ的感觉,但是实际上还差远,差不多就是很久之前那种“长江长江我是黄河”的通话形式。

代码如下:

服务器端代码:

[code]import java.io.IOException;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Date;

public class TestServer2 {
    public static void main(String[] args) throws IOException {
        ServerSocket ss=new ServerSocket(10000);
        System.out.println("时间:"+new Date()+",服务器启动了,监听了10000端口");

        while (true) {
            Socket s = ss.accept();// 如果有客户端上来,则建立一个与客户机的连接。 阻塞式的方法
            System.out.println("客户端是" + s.getRemoteSocketAddress()+"连接了服务器");// 得带远端的客户端端口

            InputStream iis=s.getInputStream();
            byte[] bs=new byte[1024];
            int length=-1;
            String str="";
            while((length=iis.read(bs,0,bs.length))!=-1){
                str+=new String(bs,0,length);
            }
            System.out.println("客户端说:"+str);
            iis.close();
            s.close();
        }

    }

}


客户端代码:

[code]import java.io.IOException;
import java.io.OutputStream;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Date;

public class TestClient2 {
    public static void main(String[] args) throws UnknownHostException, IOException {
        //客户端 的功能:1、链接服务器  2、发信息
        Socket s=new Socket("192.168.1.114",10000);//写服务器端的地址和端口,端口号需要与服务器端代码监听的端口号一致才能建立连接。
        System.out.println("时间:"+new Date()+",建立了与服务器的链接");

        //输出流,服务器接收
        OutputStream oos=s.getOutputStream();
        oos.write("夏天来了,天真热!".getBytes());
        oos.flush();
        oos.close();
        s.close();
    }
}


运行结果:

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