Socket练习题及思路分析

  • 格式:doc
  • 大小:149.50 KB
  • 文档页数:5

1.简述Socket与ServerSocket
2.建立Socket网络通信
思路分析:首先创建客户端程序
接着创建服务端
当我们测试时,首先开启服务端等待客户端连接
测试结果:
3.使用Socket编写上传文件
思路分析:
接收端:
1、新建一FileInputStream.
2、getOutputStream(),得到一个soket的OutputSteam.
3、从文件读,写到soket的OutputStream.
发送端:
1、新建一FileOutputSteam.
2、getInputStream()得到一个soket的InputStream.
3、从InputSteam读入数据,写到FileOutputStream.
客户端:指定上传图片的路径,并加相应的判断,部分代码如下:
服务端:接收客户端传过来的照片,并改变他的扩展名:
注:里面可能存在着小问题,希望同学们动动脑筋
4.使用Socket读取控制台中用户所输入的字符
思路分析:
服务器端
服务器,使用ServerSocket监听指定的端口,端口可以随意指定(由于1024以下的端口通常属于保留端口,在一些操作系统中不可以随意使用,所以建议使用大于1024的端口),等待客户连接请求,客户连接后,会话产生;在完成会话后,关闭连接。

代码提示:
客户端
客户端,使用Socket对网络上某一个服务器的某一个端口发出连接请求,一旦连接成功,打开会话;会话完成后,关闭Socket。

客户端不需要指定打开的端口,通常临时的、动态的分配一个1024以上的端口。

代码提示:
5.当用户连接服务器时,得到用户名,相应的日期与时间
思路分析
服务端:建立服务端和3题思路大概一样,不过要使用线程接收每一个客户端传来的信息,记下他们的名字,并传回到客户端,部分代码:
我们为了让程序看起来更加清楚,把ServerSocket监听指定的端口,等待客户连接请求,单独写一个方法
我们要保证是同一个客户端的Socket,所以在服务器端必须得到Socket的引用
在run方法中我们要把客户端的名字,以连接的时间得到
部分代码如下:
客户端:和服务端的思想着不多,只不过,客户端相对于服务端来说是输出,而服务端是输入,部分代码如下:
在main方法中,我们要强制客户端输入姓名。