服务器-一个关于Socket的问题

问题描述

一个关于Socket的问题

我在看了深入剖析tomcat 用Socket模拟浏览器和服务器
结果我忘了向浏览器输出数据后调用socket.close(),结果浏览器阻塞获取不到数据,
而当我补上后就可以了。
我觉得为什么不是在用PrintWriter.println()和flush()后浏览器就能得到数据,而是在socket close之后?

解决方案

PrintWriter.println()和flush()如果在这两个方法获取数据,需要确定你是否接收数据完成,如何才能确定接收数据完成呢??
socket.close方法可以确定你接收数据完成!!
并且这一步必不可少!!

解决方案二:

关闭socket,对方才知道数据接收完成等。需要看一下收到的包分析

时间: 2024-10-16 06:01:42

服务器-一个关于Socket的问题的相关文章

给服务器一个路径,服务器怎么创建文件夹

问题描述 给服务器一个路径,服务器怎么创建文件夹 首先我这个文件夹路径要怎么处理去掉前面的部分,比如我选的是AAA这个文件夹,其下可能是AAA/111/222.TXT 其上可能是c://BBB/AAA 但是我只需要服务器接受AAA/111这个路径,并且在他的服务器路径下面创建AAA/111这两个文件夹,以便于我将222.txt上传到这个文件夹 应该怎么做 解决方案 也可以这样 string path = @"c:aaa111222.txt"; string[] dirname = pa

端口- 求助,两台服务器一个ip的问题!

问题描述 求助,两台服务器一个ip的问题! 两台服务器1,192.168.1.3, windows2008,iis,域名解析到这台服务器的IP地址.2,192.168.1.2,linux,php,装了一个web应用程序. 现在想从外网访问192.168.1.3主站页面,并通过主页上连接访问1.2, 由于各种原因,无法做域名解析,无法设置路由器的端口映射,有没有什么别的办法,在1.3上做设置,让外网能访问1.2呢? 谢谢!!! 解决方案 不能做端口映射,这个办不到.如果1.3可以映射,那么可以在1

java web-同一服务器,一个tomcat里的项目想要获取另一个tomcat里的项目

问题描述 同一服务器,一个tomcat里的项目想要获取另一个tomcat里的项目 一个服务器运行有两个tomcat,IP地址一样,端口号不同,我在tomcatA上的项目要获取tomcatB的webapps里图片文件夹中文件 真心求教,想了好久都没解决 解决方案 两种,一种是直接通过绝对路径获取进行操作,一种是通过那个tomcat对应服务获取你需要的文件进行访问.

c语言-请教一个关于socket的问题

问题描述 请教一个关于socket的问题 代码中有这样一段 if ((m_UDPSndrSocket = WSASocket(AF_INET, SOCK_DGRAM, IPPROTO_UDP, NULL, 0, WSA_FLAG_OVERLAPPED)) == INVALID_SOCKET) { AfxMessageBox("Failed to create UDPSocket"); return FALSE; } 然后出现了这样的错误 error C2065: 'WSASocket'

c++-请教一个VC++SOCKET的问题

问题描述 请教一个VC++SOCKET的问题 bind(ss, (SOCKADDR*)&ddd, sizeof(ss)); 请问下这句话中的,第二个参数为什么要加取地址呀?难道SOCKADDR*不足以把 ddd转换成指针吗?还要加个取地址,好像别的地方的用法都不用加取地址符 解决方案 建议参考官方资料.https://msdn.microsoft.com/en-us/library/ms737550 解决方案二: 进行类型转换,符合函数调用的参数.bind的第二个参数有类型要求.你需要对应的转换

服务器-C语言 socket 编写简单服务端客户端通信问题

问题描述 C语言 socket 编写简单服务端客户端通信问题 大家好,感谢你的回复. 我用c 写了一个socket通信的小程序,写好了服务端和客户端,可遇到个问题,就是每次启动客户端只能发送第一条消息,之后服务端就不能再收到消息了. Talk is cheak , show me the code. 服务端代码: #include<stdlib.h> #include<WinSock2.h> #pragma comment(lib,"ws2_32.lib") i

一个AS3 socket解码设计的错误思路

调试游戏确实是一项磨人的工作.难怪很多业内人都喜欢说"好游戏是改出来的".奇都(game.qdooo.com)基础平台目前还在测试,陆陆 续续收到了很多朋友的反馈(想参与测试的朋友欢迎联系我索取激活码).所以这段时间的主要工作是在做美化和优化,新的竞技系统也在紧锣密鼓的准备中. 这里主要想说一下socket解码在设计时忽略的一个问题.(感谢Lite3的反馈). 对于客户端的Socket的数据基本读取方式一般来说可以分为三种: 1.按照数据流的结尾标记截取2.按照包头记录的包长度截取3.

Android客户端与PC服务器如何实现Socket通信

本文介绍Android终端持续扫描AP信息并发送给服务器端的实现.首先基于TCP协议在Android终端和PC两端之间形成网络虚拟链路.使用ServerSocket创建TCP服务器端,然后在Android客户端使用Socket的构造器来连接服务器.其中Android终端通过WIFI连接和PC处于同一局域网. 1. PC服务器启用ServerSocket 两个通信实体在建立虚拟链路之前,需要有一方先准备好,主动接受来自其他通信实体的连接请求. 使用ServerSocket对象监听来自客户端的Soc

服务器-一个web项目,如何提供给外网使用?

问题描述 一个web项目,如何提供给外网使用? 如题:我用spring+mybatis+mysql写了一个web的项目,如何提供给外网使用, 已经申请好域名和空间. 只是不知道步骤, 1.怎么将自己的web项目发布到外网? 2.数据库怎么连接? 3.如何启动服务器? PS:小白一个,有太多不明白的地方,还请大神概括下基本的步骤. 解决方案 最好是再租用一个云服务器.用自己的PC作为服务器有如下问题: (1)天朝和谐了80端口,所以必须换端口,地址上拖上一个端口号,而且搜索引擎也不待见 (2)家庭