刚才看了下以前写了的代码,tcp通信,发现太简单了,直接又摘抄了一个,运行

博客:http://blog.csdn.net/zhy_cheng/article/details/7819659

优点是服务器循环检测,客户端间歇性发送,缺点是代码杂糅在一块,不太容易看懂,大概明白它是通过方法重载实现的:

服务器代码:

建立ServiceSocket.java,ServiceSocket代码:

package com.swust.udp;

import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket; public class ServiceSocket extends Thread{ public Socket sock;
public ServiceSocket(Socket sock)
{
this.sock=sock;
} public void run()
{
try{
OutputStream os=sock.getOutputStream();
InputStream is=sock.getInputStream();
os.write("Hello这里是来自服务器的消息".getBytes());
byte []buf=new byte[100];
int len=is.read(buf);
System.out.println(new String(buf,0,len));
os.close();
is.close();
sock.close();
}
catch(Exception e)
{ }
}
public static void main(String[] args) {
// TODO Auto-generated method stub try {
ServerSocket ss=new ServerSocket(6000); //循环扫描,没有关闭:ss.close();
while(true)
{
Socket s=ss.accept(); new ServiceSocket(s).start();
} } catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} } }

客户端代码:

建立ClientSocket.java,ClientSocket代码:

package com.swust.udp;

import java.io.InputStream;
import java.io.OutputStream;
import java.net.InetAddress;
import java.net.Socket; public class ClientSocket { public static void main(String []args)
{
try {
Socket s=new Socket(InetAddress.getByName(null),6000);//"localhost" "127.0.0.1s"
OutputStream os=s.getOutputStream();
InputStream is=s.getInputStream();
byte []buf=new byte[100];
int len=is.read(buf);
System.out.println(new String(buf,0,len));
os.write("Hello,我是客户端的消息".getBytes());
Thread.sleep(100);
os.close();
is.close();
s.close(); } catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} } }

java socket tcp(服务器循环检测)的更多相关文章

  1. udp 双机通信(服务器循环检测)2

    此文摘自:http://blog.csdn.net/qinpeng100423/article/details/8980423,谢谢了 自己上一篇写的udp通信,只能运行一次,参考了这位博主的,只是把 ...

  2. java socket 单服务器多客户端实时通信

    想用JAVA做一个服务器,请问怎么利用TCP和线程,实现多个客户端同时在线,能与服务器进行交互? 服务器监听端口 做个无限循环 接到一个连接就创建一个通道线程,并将通道线程存储到一个list集合中 1 ...

  3. JAVA Socket连接服务器时可能抛出的异常

    1.UnknownHostException:host(非ip)无法识,就会报该异常,www.google.com.hk这个虽然也ping不通,但是不会报该错,因为他是一个确实存在的域名.他会报Con ...

  4. java Socket Tcp 浏览器和服务器(二)

    package cn.itcast.net.p2.ie_server; import java.io.IOException;import java.io.InputStream;import jav ...

  5. java Socket Tcp 浏览器和服务器(一)

    自定义服务端,使用已有的客户端IE,了解一下客户端给服务端发了什么请求? 发送的请求是: GET / HTTP/1.1  请求行  请求方式  /myweb/1.html  请求的资源路径   htt ...

  6. java Socket(TCP)编程小项目

    package 服务器端相关操作; import java.io.Serializable; /* * 创建存储需要传输信息的对象,方便客户端向服务器端传送数据 */ public class Cli ...

  7. java socket 一个服务器对应多个客户端,可以互相发送消息

    直接上代码,这是网上找的demo,然后自己根据需求做了一定的修改.代码可以直接运行 服务器端: package socket; import java.io.BufferedReader; impor ...

  8. java Socket Tcp示例三则(服务端处理数据、上传文件)

    示例一: package cn.itcast.net.p5.tcptest; import java.io.BufferedReader;import java.io.IOException;impo ...

  9. Java Socket TCP编程(Server端多线程处理)

    package com; import java.io.*; import java.net.Socket; /** * Socket Client * <p> * Created by ...

随机推荐

  1. chart.js在html中画曲线图

    http://www.bootcss.com/p/chart.js/docs/ http://www.chartjs.org/docs/   中有详细讲解 一.简介 Chart.js是一个基于HTML ...

  2. BZOJ 1106: [POI2007]立方体大作战tet

    1106: [POI2007]立方体大作战tet Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 682  Solved: 496[Submit][St ...

  3. Laravel 目录结构分析

    根目录结构 /app/bootstrap/public/vendorartisancomposer.jsonserver.php 1./app 整个Laravel 目录中最需要我们注意的地方,包含设置 ...

  4. transform和transition

    作者:zccst 例如:图片墙  .另外还有,便签墙 使用的样式: 1,正常情况下 ul#index_cards li {     background: url("../images/ca ...

  5. FZU 2099 魔法阵

    手算. #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> u ...

  6. UILabel自适应高度

    在网上看了一些,发现很多关于自适应高度的,不能用,就在下面写一种我常用的吧!保证可以直接粘贴复制到Xcode中运行. UILabel *label = [[UILabel alloc] init]; ...

  7. iOS UICollectionView高级用法(长按自由移动cell)-新

    [reference]http://www.jianshu.com/p/31d07bf32d62 iOS 9之后: 示例如下 效果 前言: 看完你可以学到哪些呢? 就是文章标题那么多, 只有那么多. ...

  8. runat="server"

    加runat="server"表示该控件是服务器端控件,不加表示是客户端控件. runat="server"直接回交服务器,处理数据,又以数据加密后的hidde ...

  9. PHP使用array_intersect()函数求数组交集

    在PHP中求数组的交集,我们可以与PHP给我们提供的现成函数:array_intersect(),其用法格式为: array array_intersect(array array1,array ar ...

  10. JavaScript 模块化及 SeaJs 源码分析

    网页的结构越来越复杂,简直可以看做一个简单APP,如果还像以前那样把所有的代码都放到一个文件里面会有一些问题: 全局变量互相影响 JavaScript文件变大,影响加载速度 结构混乱.很难维护 和后端 ...