A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© j420984 中级黑马   /  2015-6-24 15:23  /  289 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

一.        Tc传输
a)        TCP分客户端和服务端
i.        客户端对应的对象是Socket
ii.        服务端对应的对象是ServerSocket
b)        通过查阅socket对象,发现在该对象建立时,就可以去连接指定主机,因为tcp是面向连接的,所以在建立socket服务时就要有服务端存在,并连接成功,形成通路后,在该通道进行数据传输。
c)        步骤:
i.        创建socket服务,并指定要连接的主机和端口。
ii.        为了发送数据,应该获取socket流中的输出流
iii.        建立服务端的socket服务,serverSocket()并监听一个端口。
iv.        获取连接过来的客户端对象,通过ServerSocket的accept方法,没有连接就会等,所以这个方法阻塞式的
v.        客户端如果发过来数据,那么服务端要使用对应的客户端对象,并获取到该客户端对象的读取流来读取发过来的数据。并打印在控制台。
vi.        关闭服务端

package com.jwd.black.cs;

import java.io.*;
import java.net.*;

public class TcpServer {
        public static void main(String[] args) throws Exception{
                ServerSocket ss = new ServerSocket(10003);
                Socket s = ss.accept();
                InputStream in = s.getInputStream();
                byte[] buf = new byte[1024];
                int len = in.read(buf);
                System.out.println(new String(buf,0,len));
                s.close();//关闭客户端
        }
}

package com.jwd.black.cs;

import java.io.*;
import java.net.*;

public class TcpClient {
        public static void main(String[] args) throws Exception {
                Socket s = new Socket("192.168.1.248", 100003);
                OutputStream out = s.getOutputStream();
                out.write("tct lai le".getBytes());
                s.close();
        }
}


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马