您的位置:首页 > 其它

通信课程一

2015-11-29 17:59 363 查看
一、初步了解服务器、客户机

什么是服务器

服务器就是为人民服务,而客户机就是被服务对象。服务器是整个网络系统的核心,为客户端提供着数据存储、查询、数据转发、发布等功能,维系着整个网络环境的正常运行。

什么是客户机

那些用于访问服务器资料的计算机则被称为客户机。客户机主要享受网络上提供的各种资料。

什么是IP地址?(Interner Protocol国际互联网协议)

计算机连上网络后,每台计算机分配唯一的地址标识,这个唯一标识就是IP地址(类似于身份证号)

什么是端口号?

每个计算机在网络上的ip是唯一的,但是每个计算机在网络上的提供的服务必然不止一个,为了区分不同服务,给对于服务分配个端口号;如果服务器想访问当前计算机的某个服务,只需提供端口号连接;

PS:把网络比喻成一个城市,某台计算机比喻成酒店,则IP地址相当于酒店的地址,端口号相当于酒店的指定服务员。

<span style="color:#993300;">三步创建简单服务器</span>
1、创建类和主函数
2、创建ServerSocket对象
ServerSocker ss = new ServerSocket(端口号);
3、获取连接对象
Socket client = ss.accept();

四、测试服务器连接

运用系统提供的telnet客户机连接我们创建的服务器

1、开启telnet服务器(win7系统,xp系统默认开启)

开始-->控制面板-->程序-->打开或关闭Windows功能

然后再telnet客户机和telnet服务器前面勾上后确定

2、进入cmd窗口,输入telnet locahost 9090回车

telnet :是系统提供给我们的客户机cmd命令

localhost :代表本地ip,当然也可以输入服务器所在计算机的ip地址

9090 :是服务器程序的端口号,根据自己服务器程序创建的端口号进行修改

五:实现服务器发送消息

<span style="color:#000000;">/*
*<span style="color:#993300;"> <span style="color:#000099;">1、通过连接对象获取输出流</span></span>
* InputStream ins = client.getInputStream();
* OutputStream ous = client.getOutputStream();
*<span style="color:#000099;"> 2、创建字符串对象,并转化为字节数组</span>
* String msg = "欢迎来到聊天室";
* byte[] getByte = msg.getByte();
* <span style="color:#000099;">3、通过输出流发送字节数组给客户机,并对输出流强制输出</span>
* ous.write(getByet);
* ous.flush();//强制输出,清空输出流中的剩余字节*/</span>

具体代码

<span style="font-size:18px;color:#000000;">package ServerKnow;

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

public class ServerTest {
public static void main(String[] args) {

try {
//创建服务器对象
ServerSocket ss= new ServerSocket(9090);
System.out.println("服务器创建成功...");
Socket client = ss.accept();
System.out.println("有客户机连接上了服务器,IP地址为:"+client.getRemoteSocketAddress());
InputStream ins = client.getInputStream();
OutputStream ous = client.getOutputStream();
String msg = "欢迎来到聊天室";
//创建数组
byte[] getByte = msg.getBytes();
ous.write(getByte);
ous.flush();
} catch (IOException e) {
e.printStackTrace();
}

}

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