TCP简单通讯

客户端代码:

package com.kaige123.net01; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.Socket; import java.net.UnknownHostException; /**
*凯哥
*/ public class Client { public static void main(String[] args) throws Exception { // 如果对方服务器不存在就会报错 Socket socket = new Socket("127.0.0.1", 8080);
		InputStream input = socket.getInputStream();
		OutputStream output = socket.getOutputStream();

		output.write("你好服务器,我是凯哥,你还记得我吗?".getBytes());
		output.flush();//赶紧把内容输出到对方 byte[] b=new byte[1024]; int len=input.read(b);
		System.out.println("服务器说:"+new String(b,0,len));

		output.close();
		input.close();
		socket.close();

	}

}

服务端代码:

package com.kaige123.net01; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket; /**
*凯哥
*/ public class Server{ public static void main(String[] args) throws Exception { // 如果都被占用 那就会抛异常 // 建立好一个服务端 监听8080端口 ServerSocket server = new ServerSocket(8080); // 等待客户端来连接服务器 Socket socket = server.accept(); //代码运行到这句就会卡主 堵塞  等待 InputStream input = socket.getInputStream();
		OutputStream output = socket.getOutputStream(); byte[] b = new byte[1024 * 5]; int len = input.read(b);
		String s = new String(b, 0, len);
		System.out.println(s);

		s = "你好凯哥,我是从东莞回来的美女!!";
		output.write(s.getBytes());

		output.close();
		input.close();
		socket.close();

	}
}
时间: 2024-08-07 00:03:13

TCP简单通讯的相关文章

Winform MDI窗体容器、权限、简单通讯

MDI窗体容器: 一般来说,窗体是顶级容器,不允许放在其他任何容器内,但是如果将某个窗体的IsMdiContainer属性设置为True,那此窗体就会成为窗体容器,可以在其中放入其他窗体 在内部的窗体不管怎么调整,是无法跳出其父级窗体容器的 注:如果想让内部窗体一直最大化并且不要其显示最大化最小化按钮,可将其FormBorderStyle设置为None,Win7系统另外需要将此窗体放入一个Panel容器中 private void 销售ToolStripMenuItem_Click(object

一张图记住TCP/IP通讯中的IP地址配置

TCP/IP通讯情景: 用网线将计算机A(服务器Server)和计算机B(Client)连接起来.程序代码在计算机A中,计算机B中安装有TCP/IP通讯助手. (图中屏幕大的是计算机A,屏幕小的笔记本是计算机B)

c# TCP Socket通讯基础

在做网络通讯方面的程序时,必不可少的是Socket通讯. 那么我们需要有一套既定的,简易的通讯流程. 如下: <pre name="code" class="csharp">public class PublicSocket { public const string DOWNLOAD_STATUS_WAIT = "1"; public const string DOWNLOAD_STATUS_PAUSE = "2"

Winform MDI窗体容器 权限 简单通讯

MDI窗体容器 权限  using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using WindowsFormsApplication1.App_Code; namespace Win

Windows Socket 编程_单个服务器对多个客户端简单通讯

单个服务器对多个客户端程序: 一.简要说明 二.查看效果 三.编写思路 四.程序源代码 五.存在问题 一.简要说明: 程序名为:TcpSocketOneServerToMulClient 程序功能:实现单个服务器对多个客户端通讯功能的小程序. PS: 这是继上次简单的 Tcp Windows Socket 编程后的再一程序,程序实现依然不是很严谨,还待完善~ 二.查看效果: 三.编写思路: 由上一次的程序思路来看,如果想实现单个服务器对多个客户端程序的通讯的话,这次程序编写尝试从多线程的角度来考

SocketAsyncEventArgs简单通讯

SocketAsyncEventArgs是一个套接字操作的类,主要作用是实现socket消息的异步接收和发送,跟Socket的BeginSend和 BeginReceive方法异步处理没有多大区别,它的优势在于完成端口的实现来处理大数据的并发情况,由于本人学习不久,对千万级的 数据访问还没有多大体会,这里的简单实现作为一个学习的笔记,请酌情参考,如有错误,请及时指正. 先说说SockeAsyncEventArgs类的操作方法,以下是摘自MSDN的内容(cn/library/system.net.

TCP服务通讯

一.TCP 1.TCP又叫做套接字,传输安全,速度慢. TCP和UTP是网络的传输协议,跟java没什么关系,没有说用java做的客户端必须连接java做的服务器,我们可以用c和c++做客户端,直接连接到java做的服务器都可以,只要都遵守TCP的协议规则就行. 2.TCP的连接 TCP有三次握手的规则,三次握手是? TCP连接服务器的时候要来来回回三次询问,第一次问服务器是否存在网络是否通畅,服务器回答我存在,第二次询问服务器是否能进行连接啊,服务器说可以连接.第三次就是完成连接.TCP连接模

W5100——TCP/UDP通讯

前段时间接触到W5100这款集成了PHY的以太网芯片,用作工业场合的通讯以及数据传输功能,现在回顾一下当时调试代码的经过. 大概框架:  stm32F4通过8位FSMC总线和W5100通讯. 用这款芯片的理由:集成了PHY,避免了外部再接转换芯片,另外有4个独立的SOCKET,可并行工作. TCP: 服务器端: 配置FSMC端口--->IP和端口绑定(打开了并行总线和自加位,写入gateway和IP)--->Socket初始化--->监听Socket--->任务子函数 客户端: 配

TCP网络通讯如何解决分包粘包问题(有模拟代码)

TCP作为常用的网络传输协议,数据流解析是网络应用开发人员永远绕不开的一个问题. TCP数据传输是以无边界的数据流传输形式,所谓无边界是指数据发送端发送的字节数,在数据接收端接受时并不一定等于发送的字节数,可能会出现粘包情况. 一.TCP粘包情况: 1. 发送端发送了数量比较的数据,接收端读取数据时候数据分批到达,造成一次发送多次读取:通常网络路由的缓存大小有关系,一个数据段大小超过缓存大小,那么就要拆包发送. 2. 发送端发送了几次数据,接收端一次性读取了所有数据,造成多次发送一次读取:通常是