`

简单socket,实现简单的Echo功能

    博客分类:
  • JESE
阅读更多

: 客户端从键盘输入 hi (当用户输出exit 退出程序),服务端响应为 hi(服务器要求为多线程)

 

 

解:服务器程序:

import Java.io.*;  

import Java.net.*;  
public class MyServer extends Thread{  
private Socket cq ;  
public MyServer(Socket cq)  
{  
this.cq = cq;  
}  
public void run()  
{  
try 
{  
BufferedReader in=new BufferedReader(new InputStreamReader(cq.getInputStream()));  
PrintWriter out=new PrintWriter(cq.getOutputStream());  
while(true)  
{  
String str=in.readLine();  
System.out.println(str);  
out.println(“message: “+str);  
out.flush();  
if(str.equals(“exit“))  
break;  
}  
}  
catch(IOException e)  
{  
System.out.println(e.message());  
}  
}  
public static void main(String[] args) throws IOException{  
ServerSocket server=new ServerSocket(8009);  
while(true)  
{  
Socket s=server.accept();  
new MyServer(s).start();  
}  
}  
} 

 

客户端程序:

import Java.net.*;  

import Java.io.*;  
public class MyClient{  
public static void main(String[] args)throws Exception  
{  
Socket server=new Socket(“localhost“,8009);  
BufferedReader in=new BufferedReader(new InputStreamReader(server.getInputStream()));  
PrintWriter out=new PrintWriter(server.getOutputStream());  
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));  
while(true)  
{  
String str=br.readLine();  
out.println(str);  
out.flush();  
if(str.equals(“exit“)){  
break;  
}  
System.out.println(in.readLine());  
}  
server.close();  
}  
} 

   

 

分享到:
评论

相关推荐

    tcp udp socket服务简单示例

    分别利用tcp和udp实现简单的socket的echo,time等四种功能

    易语言-Hp-Socket For E 5.4.2 高性能TCP/UDP通信组件 源码+模块+例程

    HP-Socket 提供基于事件通知模型的 API 接口,能非常简单高效地整合到新旧应用程序中。 为了让使用者能方便快速地学习和使用 HP-Socket ,迅速掌握框架的设计思想和使用方法,特此精心制作了大量 Demo 示例(如:...

    dicom传输协议delphi xe5编写无控件

    用delphi xe5编写的DICOM传输测试程序服务端(scp),实现了associate,c-echo,c-store,release.简单明了,网上这方面的例子太少了,对没入门的人定有帮助。我在单台机器上测试没问题。在不同机器上传输还没完善。整个...

    Android C++高级编程:使用NDK_Onur Cinar, 于红PDF电子书下载 带书签目录 完整版

    10.3 实现原生本地Socket Server 237 10.3.1 创建本地Socket:socket 237 10.3.2 将本地socket与Name绑定:bind 238 10.3.3 接受本地Socket:accept 240 10.3.4 原生本地Socket Server 240 10.4 将本地Echo ...

    利用原始套接字实现PING功能的VC源代码

    原理:创建原始套接字,构造ICMP协议ECHO数据头,发送数据sendto接收数据recvfrom,分析返回IP数据头及ICMP数据头程序代码极其简单,适合初学网络编程者参考原创awzzz(awzzz999@),参考MSDN注:在VC环境下编译时建议...

    linux programming instances网络编程教程 附源代码

    4.9 socket编程client/server应用简单示例 4.9.1 一个简单www浏览器 4.9.2 inetd编程 4.9.3 获取本地ip 4.9.4 dns的使用 4.9.5 从socket中读出一行语句 4.9.6 处理用户登录及权限设置 4.10 本章小结 ...

    x-SCAN -V3.3-CN.

    Q:我看到Scripts目录下有很多nessus的脚本,是否可以自己从nessus的网站上下载最新的plugin,然后解压到scripts目录中,实现扫描最新漏洞? A:X-Scan移植了nessus的nasl引擎,目前对应于nessus2.2.4,但不包含对...

    强大的扫描工具x-scan

    升级PORT插件,在无法创建Raw Socket时改为使用标准TCP连接方式检测开放端口。 X-Scan v1.1 -- 发布日期:11/25/2001,将所有检测功能移入插件,使主程序完全成为“容 器”;提供多语言支持;更新图形接口程序;...

    Java范例开发大全 (源程序)

     实例185 多功能排序 310  第11章 Java常用类(教学视频:66分钟) 315  11.1 数学Math类 315  实例186 求圆周率∏值 315  实例187 求对数值 316  实例188 使用取整函数 317  11.2 Random类的使用 318 ...

    java范例开发大全(pdf&源码)

    实例185 多功能排序 310 第11章 Java常用类(教学视频:66分钟) 315 11.1 数学Math类 315 实例186 求圆周率∏值 315 实例187 求对数值 316 实例188 使用取整函数 317 11.2 Random类的使用 318 实例189 随机数 319 ...

    java范例开发大全源代码

     实例185 多功能排序 310  第11章 Java常用类(教学视频:66分钟) 315  11.1 数学Math类 315  实例186 求圆周率∏值 315  实例187 求对数值 316  实例188 使用取整函数 317  11.2 Random类的...

    java范例开发大全

    实例285 Echo服务的客户端是如何实现的? 556 实例286 检测本机的服务端口 558 实例287 下载的页面不丢失链接 559 实例288 如何对网页进行重新定向 560 实例289 在Internet上搜索对象 560 实例290 LAN使用代理服务器...

    X-Scan

    功能简介: <br> 采用多线程方式对指定IP地址段(或单机)进行安全漏洞检测,支持插件功能,提供了图形界面和命令行两种操作方式,扫描内容包括:远程服务类型、操作系统类型及版本,各种弱口令漏洞、后门、应用...

    Java范例开发大全(全书源程序)

    实例185 多功能排序 310 第11章 Java常用类(教学视频:66分钟) 315 11.1 数学Math类 315 实例186 求圆周率∏值 315 实例187 求对数值 316 实例188 使用取整函数 317 11.2 Random类的使用 318 实例189 ...

    X-Scan v3.1

    3.0版本提供了简单的插件开发包,便于有编程基础的朋友自己编写或将其他调试通过的代码修改为X-Scan插件。另外Nessus攻击脚本的翻译工作已经开始,欢迎所有对网络安全感兴趣的朋友参与。需要“Nessus攻击脚本引擎”...

    入门学习Linux常用必会60个命令实例详解doc/txt

    虚拟控制台的切换可以通过按下Alt键和一个功能键来实现,通常使用F1-F6 。 例如,用户登录后,按一下“Alt+ F2”键,用户就可以看到上面出现的“login:”提示符,说明用户看到了第二个虚拟控制台。然后只需按“Alt+...

Global site tag (gtag.js) - Google Analytics