文档章节

java socket

华中湖北人才培训
 华中湖北人才培训
发布于 2014/10/09 10:30
字数 447
阅读 168
收藏 10

1. [代码][Java]代码     

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
packagecom.gufengxiachen.sthreadchatapp;
/**
 * @author GUXIA
 */
importjava.io.BufferedReader;
importjava.io.DataInputStream;
importjava.io.DataOutputStream;
importjava.io.InputStream;
importjava.io.InputStreamReader;
importjava.io.OutputStream;
importjava.net.ServerSocket;
importjava.net.Socket;
 
publicclassChatServer {
    publicstaticvoidmain(String[] args) {
        try{
            //创建服务器端套接字,接受来自客户端的连接请求
            ServerSocket ss=newServerSocket(9999);
            Socket s=ss.accept();
             
            //获取客户端套接字的输出流
            OutputStream os=s.getOutputStream();
            DataOutputStream dos=newDataOutputStream(os);
             
            //获取客户端输入流
            InputStream is=s.getInputStream();
            DataInputStream dis=newDataInputStream(is);
             
            //创建字符输入流接受键盘输入
            InputStreamReader isr=newInputStreamReader(System.in);
            BufferedReader br=newBufferedReader(isr);
             
            String message;
            while(true){
                //获取客户端输入流,并打印在屏幕上,如果客户端说的是“再见”,退出
                message=dis.readUTF();
                System.out.println("客户端:"+message);
                if(message.equals("再见"))
                    break;
                //读取键盘输入并写入到输出流(客户端的输入流)
                message=br.readLine();
                dos.writeUTF(message);
                 
            }
            dis.close();
            dos.close();
            ss.close();
            s.close();
             
             
        }catch(Exception e) {
            // TODO: handle exception
            e.printStackTrace();
        }
    }
 
}

2. [代码][Java]代码     

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
packagecom.gufengxiachen.sthreadchatapp;
/**
 * @author GUXIA
 */
importjava.io.BufferedReader;
importjava.io.DataInputStream;
importjava.io.DataOutputStream;
importjava.io.InputStream;
importjava.io.InputStreamReader;
importjava.io.OutputStream;
importjava.net.Socket;
 
publicclassChatClient {
    publicstaticvoidmain(String[] args) {
        try{
            //创建客户端套接字
            Socket sc=newSocket("localhost",9999);
            //获取套接字输入流
            InputStream is=sc.getInputStream();
            DataInputStream dis=newDataInputStream(is);
            //获取套接字输出流
            OutputStream os=sc.getOutputStream();
            DataOutputStream dos=newDataOutputStream(os);
             
            //创建字符输入流接受键盘输入
            InputStreamReader isr=newInputStreamReader(System.in);
            BufferedReader br=newBufferedReader(isr);
             
            //聊天
            String message;
            while(true){
                //读取键盘输入的字符,写到客户端输出流
                message=br.readLine();
                dos.writeUTF(message);
                if(message.equals("再见"))
                    break;
                //读取服务器端的数据并打印到屏幕上
                message=dis.readUTF();
                System.out.println("服务器:"+message);
            }
            dis.close();
            dos.close();
            sc.close();
 
        }catch(Exception e) {
            // TODO: handle exception
            e.printStackTrace();
        }
         
         
    }
 
}

© 著作权归作者所有

共有 人打赏支持
上一篇: ServiceStack.OrmLite
下一篇: jQuery调用WebService
华中湖北人才培训

华中湖北人才培训

粉丝 82
博文 258
码字总数 264030
作品 0
武汉
高级程序员
私信 提问
JVM Attach实现原理剖析

前言 本文旨在从理论上分析JVM 在 Linux 环境下 Attach 操作的前因后果,以及 JVM 为此而设计并实现的解决方案,通过本文,我希望能够讲述清楚如下三个主要方面的内容。 原发布:我的博客 一...

从精于一开始
07/21
0
0
Eclipse 远程调试 Java 程序

今天同事问我怎么远程调试 java 程序。我不会,那马上搜索看看。在被高度的程序中加个数据就行。然后 eclipse 调试时指定端口就行,太方便了。 比如,现在有一个代码: 把这个java 导出为 re...

鉴客
2010/08/05
1K
1
jdbc-internals-and-timeout-configuration

An application with a proper JDBC timeout can cut down the failure time. In this article we would like to talk about different kinds of timeout values and recommended timeout ap......

不道归来
08/09
0
0
weblogic集群被管节点出现socket错误

weblogic 集群出现socket错误 启动出现错误 <span ><Nov 13, 2013 12:57:10 PM CST> <Error> <Cluster> <BEA-000109> <An error occurred while sending multicast message: java.io.IOExcep......

tututu_jiang
06/15
0
0
用IDE创建一个JAVA类,用命令窗口,可以编译但是运行报错误

package com.test.socket; public class Server { public static void main(String[] args) throws Exception{ System.out.println("helloworld"); } } 打开命令窗口 E:\workspace\socket\sr......

薄暮凉年
2015/04/13
348
2

没有更多内容

加载失败,请刷新页面

加载更多

我是如何将博客转成PDF的

前言 只有光头才能变强 之前有读者问过我:“3y你的博客有没有电子版的呀?我想要份电子版的”。我说:“没有啊,我没有弄过电子版的,我这边有个文章导航页面,你可以去文章导航去找来看呀”...

Java3y
11分钟前
0
0
nginx的一些总结

Linux下安装Nginx完整教程及常见错误解决方案 1.Nginx安装环境 Nginx是C语言开发,建议在linux上运行,本教程使用Centos7.0作为安装环境. 1)gcc 安装nginx需要先将官网下载的源码进行编译,编译...

Yao--靠自己
18分钟前
0
0
Predicate函数式接口

Predicate接口主要用于流的筛选,比如在filter方法中传入Predicate判断。 作为函数式接口,这里居然有三个default方法,一个static方法,子孙满堂! 正统的接口方法,就是boolean test(T t)...

woshixin
19分钟前
0
0
sql 开窗函数

开窗函数:在开窗函数出现之前存在着很多用 SQL 语句很难解决的问题,很多都要通过复杂的相关子查询或者存储过程来完成。为了解决这些问题,在 2003 年 ISO SQL 标准加入了开窗函数,开窗函数...

hblt-j
29分钟前
1
0
使用Vue动态生成form表单的实例代码

具有数据收集、校验和提交功能的表单生成器,包含复选框、单选框、输入框、下拉选择框等元素以及,省市区三级联动,时间选择,日期选择,颜色选择,文件/图片上传功能,支持事件扩展。 欢迎大家s...

嫣然丫丫丫
37分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部