Java网络编程之套接字(Socket编程)

套接字
IP地址标识Internet上的计算机,端口号标识正在计算机上运行的进程(程序),端口后被定义为一个16位的0~65535之间的整数,其中,0~1023被预定义的服务通信占用(如telnet占用端口23.http占用端口80等),除非需要访问这些特定服务,否则需要使用1024-65535这些端口的某一个进行通信,以免发生端口冲突,当两个程序需要通信时,他们可以通过Socket类建立套接字对象并连接到一起(端口号和IP地址的组合得出一个网络套接字)。
客户端的套接字对象
客户端的程序使用Socket类建立负责连接到服务器的套接字对象。
Socket的构造方法时Socket(String host,int port),参数host是服务器的IP的地址,
port是一个端口号,建立套接字可能发生IOException 异常,因此应该像下面一样建立连接到服务器的套接字对象。

try{
    Socket mScocket = new Socket("http://123.123.123.123",1880);
}catch(Exception e)
{

}

在套接字mSocket 对象建立后,你可以想象一条通信线路已经建立起来。mSocket可以使用方法getInputStream()获得一个输入流,然后用这个输入流读取服务器放入“线路”的信息(但不能读取自己放入线路的信息,就像打电话一样,我们只能听到对方放入线路的声音一样)。mScoket还可以使用方法getOutputStream()获得一个输入流,然后用这个输出流将信息写入“线路”。
在实际编写程序时,把mSocket使用方法getInputStream()获得的输入流接到另一个数据流上(回忆在文件输入/输出流所进行的连接,道理是一样的),然后就可以从这个数据流读取从服务器中来的信息了,之所以这样做是因为后面DataInputStream流有更好地从流中读取信息的方法。同样,把mSocket使用方法getOutputStream数据流上,然后向这个数据流写入信息,发送给服务器端,之所以这样做是因为后面的DataOutputStream流有更好地向流中写入信息的方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Philtell

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值