通信课程一

一、初步了解服务器、客户机

什么是服务器

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

什么是客户机

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

什么是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>



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值