服务器端读入流部分代码:
System.out.println(new BufferedReader(new InputStreamReader(socket.getInputStream())).readLine());
客户端写入流部分代码
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
writer.write(content);
writer.flush();
程序运行时出现阻塞
原因分析:
服务器端使用了readLine();也就是在读一行文本,读文件的时候不会出现问题,但是在使用Socket时,客户端写入了数据
但并没有提供换行符,所以服务器端在readLine()时一直处于阻塞状态,
解决方法:
一:
可以在客户端写完数据后加上换行符,
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
writer.write(content);
writer.newLine();
writer.flush();
这样在服务器端就不会出现阻塞。
二:
使用DataOutputStream和DataInputStream
服务器端:
input.readUTF();
客户端
output.writeUTF();
分享到:
相关推荐
经典错误1 无法访问已释放的对象。 对象名:“System.Net.Sockets.Socket”;解决方案 经典错误2 "远程主机强迫关闭了一个现有的连接。"解决方案
内容包含Soket通讯测试客户端以及服务端的软件,以及Codesys工程项目的示例程序。 主要用设备用于相机以及上位机的Socket通讯
Socket通讯聊天文档及代码 Socket通讯聊天文档及代码 Socket通讯聊天文档及代码 Socket通讯聊天文档及代码 Socket通讯聊天文档及代码 Socket通讯聊天文档及代码 Socket通讯聊天文档及代码
Socket通讯解决并发采用线程池ThreadPool.java EchoServer.java EchoClient.java
bcb socket通讯实例
AB PLC 与 PLC 通过 socket 通讯文档 英文
WPF实现CS结构,基于socket连接,实现Server<->Client发送消息
一手原创,内含程序注释、在项目上已经验证,通讯成功。 验证的硬件:1756-EN2T和1769-l30er...AB PLC通过1756-en2t或者1769-l30er直接与PC或者其它直持socket的控制器实现数据通讯功能,实现直接通讯,绕开rslinx 等。
SuperSocket Socket C# 通讯详细介绍,不错的 Socket,学习很有用处SuperSocket Socket 技能
这个工具就是一个能在线模拟socket通讯工具,并且能检测通讯是否能正常响应和发送信息
发那科机器人与上位机 视觉SOCKET通讯,收发数据,套接字通讯,读写寄存器变量,IO信号,系统变量。
包含sockettool,FINS TCP案例,FINS UDP案例,SOCKET通讯案例等
C# SOCKET 通讯例子 通讯Client端,通讯Server端.运行环境.net 2003
基于myeclipse的socket通讯
MFC socket通信,socket通讯 MFC socket通信,socket通讯 我是使用VS2012来做的,不知道其他的环境会不会有问题。 使用VS2012分别打开工程AppSocClient和AppSocServer, 分别build两个工程,启动AppSocServer工程...
HP-Socket通讯框架官方教程
这是一个简单的socket服务器程序,里面有java写的源码已经一个测试用jar包,改程序监听端口23457 当有客服端访问时,对其接收数据 返回OK
一些人也许知道,socket这个概念最早是UNIX里面的。 用于实现TCP/IP协议族里面的通讯。 后来被各家公司抄了过去,比如微软 ... 目前很多语言里面 ,都是使用socket实现TCP/IP通讯的。或者说大都有socket这么个东西。
WINCE平台中,SOCKET通讯类,C#编写,支持原创!
android socket通讯例子 android socket通讯例子 android socket通讯例子 android socket通讯例子