通信课程一
2015-11-29 17:59
363 查看
一、初步了解服务器、客户机
什么是服务器
服务器就是为人民服务,而客户机就是被服务对象。服务器是整个网络系统的核心,为客户端提供着数据存储、查询、数据转发、发布等功能,维系着整个网络环境的正常运行。
什么是客户机
那些用于访问服务器资料的计算机则被称为客户机。客户机主要享受网络上提供的各种资料。
什么是IP地址?(Interner Protocol国际互联网协议)
计算机连上网络后,每台计算机分配唯一的地址标识,这个唯一标识就是IP地址(类似于身份证号)
什么是端口号?
每个计算机在网络上的ip是唯一的,但是每个计算机在网络上的提供的服务必然不止一个,为了区分不同服务,给对于服务分配个端口号;如果服务器想访问当前计算机的某个服务,只需提供端口号连接;
PS:把网络比喻成一个城市,某台计算机比喻成酒店,则IP地址相当于酒店的地址,端口号相当于酒店的指定服务员。
四、测试服务器连接
运用系统提供的telnet客户机连接我们创建的服务器
1、开启telnet服务器(win7系统,xp系统默认开启)
开始-->控制面板-->程序-->打开或关闭Windows功能
然后再telnet客户机和telnet服务器前面勾上后确定
2、进入cmd窗口,输入telnet locahost 9090回车
telnet :是系统提供给我们的客户机cmd命令
localhost :代表本地ip,当然也可以输入服务器所在计算机的ip地址
9090 :是服务器程序的端口号,根据自己服务器程序创建的端口号进行修改
五:实现服务器发送消息
具体代码
<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>
什么是服务器
服务器就是为人民服务,而客户机就是被服务对象。服务器是整个网络系统的核心,为客户端提供着数据存储、查询、数据转发、发布等功能,维系着整个网络环境的正常运行。
什么是客户机
那些用于访问服务器资料的计算机则被称为客户机。客户机主要享受网络上提供的各种资料。
什么是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>
相关文章推荐
- rabbitmq-BasicReject
- UVa12412 - A Typical Homework (a.k.a Shi Xiong Bang Bang Mang)
- js实现table删除行实例(纯前端)
- 南通大学教务管理微信公众号的用户体验
- Something about English learning
- mac下vim半透明设置
- 第八章代码运行测试
- OpenGL ES 学习教程(一) 打开一个窗口,什么都没有!
- Lua封装创建枚举类型
- tomcat CATALINA_BASE环境变量配置
- Hdu 5586 Sum
- 74 For which two situations would you use functionality provided by the Resource Manager? (Choose tw
- 微信用户体验
- Adobe edge animate制作HTML5动画可视化工具(一)
- Xcode中如何仅替换选中行
- 书籍阅读
- 二叉树删除
- jquery的ajax遇到的问题
- shell 11-29
- 浅谈UNIX下Apache的MPM及httpd.conf配置文件中相关参数配置