望麓自卑—湖南大学最具潜力的校园传媒

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 980|回复: 1

[资源共享] Java 网络编程1(希望有人一同讨论)

[复制链接]
发表于 2004-12-13 20:03:17 | 显示全部楼层 |阅读模式
1.首先,先了解几个基本概念。(真正要做得了解)
小弟最近正在学习java网络及多线程编程,希望有志同道合的一同学习,待来此发贴
以下是我的一些学习经验,也当是自已总结,希望和有识之士一同讨论学习。
什么是socket?
socket是它允许程序把网络连接当成一个流,可以向这个流写字节,也可以从这个流读取字节。套接字为程序员屏蔽了网络的底层细节,例如媒体类型、信息包的大小、网络地址、信息的重发等。 传输层及以下的数据全部都看不到,它是基于tcp/ip协议
基出上的东西.
什么是协议?
协议是就是规则。例如交通,它就有一套自已的规则.
socket它倒底是处于哪层呢?
socket是会话层的东西,主要为两个会话层实体进行联接,进行的对话连接的管理服务。也就是说你可以建立会话层以上自已的规则。例如表示层,应用层.

2.如何利用socket写程序.
编写时请要加包  import java.net.*
先讲客户端套接字socket的及
常用方法.

1.连接到远程机器。
public Socket(String host ,int port) throws unknownHostException IOException
这个方法建立一个到主机host、端口号为port的套接字,连接到远程主机。
throws throws unknownHostException IOException 执行时出现错误会抛出何种异常。
实例如下:
Socket soc=new Socket (\"www.hudabbs.net\" , 80);
注:
同时soc也同www.hudabbs.net:80绑定了
那就可以利用soc跟www.hudabbs.net开始发送数据了.

2.发送数据。

public OutputStream getOutputStream ( ) throws IOException
   返回一个原始的OutputStream,可以从应用程序写数据到套接字的另一端。
OutputStream是一个对像,这里暂时不深究.
通常将它链接到PrintWirter,PrintWirter一个基于字符的类。方法println()和println支持所有类,并能向对像写数据。
实例如下:
Socket soc=new Socket (\"www.hudabbs.net\" , 80);
PrintWriter out = new PrintWriter(soc.getOutputStream(), true);
out.println(\"aaabbcc\");
注:
那就向www.hudabbs.net的80端口发送了aaabbcc及换行
如果用 out.print(\"aaabbcc\");就没有换行.
很明显,80端口http协议,它根本不能理解你的发数据,它也不会做出相应的处理.

3.获得远程服务器地址
public InetAddress getInetAddress ( )

   调用Socket对象的getInetAddress ( )方法返回连接到远程主机的地址,如果连接失败,则返回以前连接的主机。
实例如下:

Socket socket = new Socket (\"www.hudabbs.net\" ,80);
      InetAddress host =socket.getInetAddress ( );

由于时间关系,今天到此为止。以后会继续发贴,希望有人一起学习,合作。欢迎跟贴。
 楼主| 发表于 2004-12-13 20:09:56 | 显示全部楼层
关于PrintWirter的构造函数
PrintWriter(OutPutSream outputStream,boolean flashOnNewline);
flashOnNewline控制是否在println方法调用是刷新输出流.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

每日推荐上一条 /1 下一条

小黑屋|手机版|湖南大学望麓自卑校园传媒 ( 湘ICP备14014987号 )

GMT+8, 2025-6-29 00:50 , Processed in 0.092159 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表