tcp客户端socket

import socket

# 和udp的区别显而易见,udp发送和接收的是一个元祖,因为udp是不建立连接的,只有得到了对方的端口和ip才能进行沟通。
# 而tcp不是,tcp发送和接受的是一个字符串,因为在进行通信前必须先建立好连接确定好了ip以及端口,
# 所以不用在接受和发送的时候去特地的发送或者接受端口号和ip地址。
# 总结来说TCP有以下几点:
#     面向连接(确认有创建三方交握,连接已创建才作传输。)
#     有序数据传输
#     重发丢失的数据包
#     舍弃重复的数据包
#     无差错的数据传输
#     阻塞/流量控制

if __name__ == ‘__main__‘:
    # 创建tcp客户端socket
    # 1. AF_INET:表示ipv4的地址类型
    # 2. SOCK_STREAM: 表示使用tcp的传输协议
    tcp_client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    # 和服务端socket建立连接
    tcp_client_socket.connect(("192.168.131.106", 7878))
    # 准备发送的数据
    send_content = "哈哈,我使用tcp发送数据啦~"
    # 对数据进行gbk的编码
    send_data = send_content.encode("gbk")
    # 发送数据
    tcp_client_socket.send(send_data)
    # 接收数据, 1024:表示每次接收最大的字节数
    recv_data = tcp_client_socket.recv(1024)
    # 解码数据
    recv_content = recv_data.decode("gbk")
    print(recv_content)     # 这里是服务端。。。
    # 关闭socket
    tcp_client_socket.close()

  

原文地址:https://www.cnblogs.com/wf-skylark/p/9104424.html

时间: 2024-11-09 03:13:57

tcp客户端socket的相关文章

linux epoll机制对TCP 客户端和服务端的监听C代码通用框架实现

1 TCP简介 tcp是一种基于流的应用层协议,其"可靠的数据传输"实现的原理就是,"拥塞控制"的滑动窗口机制,该机制包含的算法主要有"慢启动","拥塞避免","快速重传". 2 TCP socket建立和epoll监听实现 数据结构设计 linux环境下,应用层TCP消息体定义如下: typedef struct TcpMsg_s { TcpMsgHeader head; void* msg; }TcpM

C# Socket之异步TCP客户端断线重连

我们知道TCP通信是一种面向连接的Socket,针对于面向连接的TCP服务应用,安全,但是效率低,它首先需要服务端开启服务,然后客户端才可以去连接,如果服务端没有开启通信服务或者连接之后再中途因为某些原因断开连接了,那么都是会通信失败的,所以我们这篇博客主要是对TCP通信加入两个机制.1,客户端开启后未连接成功,自动重连请求 2,若通信途中因为某些原因断开连接了自动重连机制  因为测试发现如果是程序运行途中我们利用同步的方式重新连接的话连接时会出现程序卡顿的情况,这个对用户的体验是非常不好的,为

模拟客户端登陆(基于TCP的Socket编程)

1.客户端  package com.ljb.app.socket; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.PrintWriter; import java.net.Socket; import java.n

Socket TCP客户端和服务器的实现

import java.io.*; import java.net.Inet4Address; import java.net.InetSocketAddress; import java.net.Socket; public class Client { public static void main(String[] args) throws IOException { Socket socket = new Socket(); // 超时时间 socket.setSoTimeout(300

python小练习---TCP客户端

这是python黑帽子上的起始练习,我对其中的用到的函数做了注释,以便日后便于理解. 该程序可以访问百度,返回响应信息. 另外,我注释还有一部分UDP客户端的语句,TCP和UDP对比便于记忆. # -*- coding:utf-8 -*- # 创建客户端,类似于浏览器发送请求 import socket target_host = "www.baidu.com" # 127.0.0.1 target_port = 80 # 建立一个socket对象 client = socket.so

Java TCP使用Socket进行网络文件传送(5)

作者 : 卿笃军 原文地址:http://blog.csdn.net/qingdujun/article/details/39324737 本文演示,TCP使用Socket进行网络文件传送,实现将客户端的文件upload.txt上传到服务器. 1)客户端,上传文件upload.txt,并接受服务器反馈上传成功与否消息. 2)服务器,接受客户端文件,将接收到的文件命名为Rece.txt,同时给客户端发送消息"上传成功". 客户端,代码如下: package upload.file.cli

Java TCP/UDP socket 编程流程总结

最近正好学习了一点用java socket编程的东西.感觉整体的流程虽然不是很繁琐,但是也值得好好总结一下. Socket Socket可以说是一种针对网络的抽象,应用通过它可以来针对网络读写数据.就像通过一个文件的file handler就可以都写数据到存储设备上一样.根据TCP协议和UDP协议的不同,在网络编程方面就有面向两个协议的不同socket,一个是面向字节流的一个是面向报文的. 对socket的本身组成倒是比较好理解.既然是应用通过socket通信,肯定就有一个服务器端和一个客户端.

Linux配置支持高并发TCP连接(socket最大连接数)

Linux配置支持高并发TCP连接(socket最大连接数)及优化内核参数 2011-08-09 15:20:58|  分类:LNMP&&LAMP|  标签:内核调优  文件系统调优  高并发调优  socket连接  ip_conntract  |字号大中小 订阅 1.修改用户进程可打开文件数限制在 Linux平台上,无论编写客户端程序还是服务端程序,在进行高并发TCP连接处理时,最高的并发数量都要受到系统对用户单一进程同时可打开文件数量的限制(这是因为系统为每个TCP连接都要创建一个s

socket系列之客户端socket——Socket类

假设TCP套接字服务器端已经建立好并正在监听客户端的连接了,那么客户端就可以通过Socket类来发起连接.客户端发起一个连接请求后,就被动地在等待服务器的响应.这个类同样位于java.net包中,包含很多方法用于建立连接,操作数据流等.客户端按以下几步进行工作: ① 创建一个Socket实例,构造函数直接指定远程服务器IP跟端口,建立一个TCP连接. ② 通过这个Socket实例的输入输出流进行通信,Socket实例都包含一个InputStream对象和OutputStream对象,通过操作这些