Python Tcp Socket

socket(套接字),传输层通信的端点,由IP和端口号组成(IP,Port),可以通过socket精确地找到服务器上的进程并与之通信

python2.6实现,基于AF_INET(网络套接字)
类型SOCKET_STREAM(TCP套接字),SOCKET_DGRAM(UDP套接字)

TCP socket通信逻辑
TCP服务端:创建socket>>>绑定本地服务器>>>监听连接>>>通信交互>>>关闭连接
TCP客户端:创建socket>>>与服务器建立连接>>>通信交互>>>关闭连接

Python Tcp Socket服务端

 1     #!/usr/bin/python
 2     #-*-coding:utf-8-*-
 3
 4     # filename : Tdpsocket.py
 5     # author :
 6     # create date : 2015-03-25
 7     # modify date :
 8     # description : tcp socket
 9
10     #import stander lib
11     from socket import socket, AF_INET, SOCK_STREAM
12     import sys
13     sys.path.append( ‘..‘ )
14
15
16     class Tcpsocket():
17         ‘‘‘
18         Tcpsocket类,建立tcp socket服务端,获得建立连接的配置信息
19         用法:
20             p = Tcpsocket.Tcpsocket()
21             p.listen()
22             无限循环监听端口,process重写数据处理方式
23         ‘‘‘
24
25         def __init__( self ):
26             ‘‘‘
27             初始化,建立socket,ip端口绑定
28             ‘‘‘
29             self.tcpServerSocket = socket( AF_INET, SOCK_STREAM ) #创建TCP socket
30             #端口号为0-65535,0-1023为系统保留,动态端口49152-65535,服务使用端口为1024-49151区间
31             self.tcpServerSocket.bind( (‘127.0.0.1‘, 20015) )
32             self.tcpServerSocket.listen(5)
33             self.buffer_size = 1024    #缓冲区为1k
34
35
36         def bulidConnect( self ):
37             ‘‘‘
38             建立连接,获取连接客户端的信息,接收数据
39             ‘‘‘
40             tcpClientSocket, addr = self.tcpServerSocket.accept()
41             print ‘conn from : ‘, addr
42             raw_data = tcpClientSocket.recv( int(self.buffer_size) )
43             print ‘receive data : ‘, raw_data
44
45             return ( tcpClientSocket, raw_data )
46
47
48         def process( self, data ):
49             ‘‘‘
50             socket传输的数据加工处理,继承重写该函数
51             ‘‘‘
52             result = data
53             return result
54
55
56         def send( self, tcp, result ):
57             ‘‘‘
58             返回信息,关闭连接
59             ‘‘‘
60             tcpClientSocket = tcp
61             tcpClientSocket.send( result )
62             tcpClientSocket.close()
63
64
65         def listen( self ):
66             ‘‘‘
67             监听端口,无限循环
68             ‘‘‘
69             while True:
70                 print ‘wati for connect:‘
71                 socket_data = self.bulidConnect()       #建立连接
72                 result = self.process( socket_data[1] ) #接收信息,处理信息
73                 self.send( socket_data[0], result )     #向客户端返回信息
74             self.close()
75
76
77         def close( self ):
78             ‘‘‘
79             关闭连接
80             ‘‘‘
81             self.tcpServerSocket.close()
82
83
84         def __del__( self ):
85             self.close()
86
87
88     if __name__ == ‘__main__‘:
89         p = Tcpsocket()
90         p.listen()

Python Tcp Socket客户端

 1     import socket
 2
 3     sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 4     server_address = ( ‘127.0.0.1‘, 20015 )
 5
 6     print ‘Connecting to %s:%s.‘ % server_address
 7     sock.connect(server_address)
 8
 9     message = "I‘m TCP client"
10     print ‘Sending "%s".‘ % message
11
12     sock.send( ‘[{"url":"www.baidu.com"}]‘ )
13     print ‘receive from server : ‘, sock.recv(1024)
14
15     sock.close()
16     print ‘Closing socket.‘
时间: 2024-10-03 22:53:47

Python Tcp Socket的相关文章

python tcp socket 多线程

不多说,直接上代码 client.py #!/usr/bin/python import socket,sys,string host="localhost" port=8000 def main(): sock=socket.socket(socket.AF_INET,socket.SOCK_STREAM) sock.connect((host,port)) message = raw_input("please input whath you want to search

Python tcp socket 传送文件

[测试环境] os:Windows 10 x64 Python:3.6.3 [server.py] #encoding: utf-8 #author: walker #date:  2017-12-01  #summary: 用socket创建tcp server以接收文件  import os, time import socket import struct cur_dir_fullpath = os.path.dirname(os.path.abspath(__file__)) Host 

Python TCP Socket 传输服务器资源信息(C/S)

服务器端脚本: 1 #!/usr/bin/env python 2 # coding:utf8 3 from socket import * 4 import os 5 import time 6 HOST='' 7 PORT=21567 8 BUFSIZ=1024 9 ADDR=(HOST,PORT) 10 11 tcpSerSock = socket(AF_INET,SOCK_STREAM) 12 tcpSerSock.bind(ADDR) #创建套接字 13 tcpSerSock.list

python的socket通信实例

一.socket简介 1. 套接字 套接字是为特定网络协议(例如TCP/IP,ICMP/IP,UDP/IP等)套件对上的网络应用程序提供者提供当前可移植标准的对象. 它们允许程序接受并进行连接,如发送和接受数据.为了建立通信通道,网络通信的每个端点拥有一个套接字对象极为重要. 套接字为BSD UNIX系统核心的一部分,而且他们也被许多其他类似UNIX的操作系统包括Linux所采纳. 许多非BSD UNIX系统(如ms-dos,windows,os/2,mac os及大部分主机环境)都以库形式提供

Python 3 socket编程

Python 3 socket编程 一 客户端/服务器架构 互联网中处处是C/S架构 1.C/S结构,即Client/Server(客户端/服务器)结构 2.在互联网中处处可见c/s架构 比如说浏览器,在线视频,各种社交软件. C/S架构与socket的关系: 我们学习socket就是为了c/s架构的开发 学习socket一定要先学习互联网协议: 1.如何基于socket编程,来开发一款自己的C/S架构软件 2..C/S架构的软件(软件属于应用层)是基于网络进行通信的 3.网络的核心即一堆协议,

python之socket模块

UDP client #!/usr/bin/env python2.7 #-*-coding:utf-8 -*- import socket s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM) s.sendto("hello",("localhost",8001)) data,addr = s.recvfrom(1024) print "receive data:%s from %s" % (dat

Python TCP通信网络编程

最近在看廖雪峰老师的基础教程(http://www.liaoxuefeng.com/),今天实现了一下简单Python的Socket的网络编程. 1. Socket网络编程 Socket是网络编程的一个抽象概念.通常我们用一个Socket表示“打开了一个网络链接”,而打开一个Socket需要知道目标计算机的IP地址和端口号,再指定协议类型即可. 2. 客户端 大多数连接都是可靠的TCP连接.创建TCP连接时,主动发起连接的叫客户端,被动响应连接的叫服务器.举个例子,当我们在浏览器中访问新浪时,我

python   实现socket

socket server   client 服务器端  监听 socket  IP+端口   网络通信 本地  网络 stream  tcp  dgram udp ftp服务器   传文件  传命令 socket.server  多线程-执行 python   实现socket,布布扣,bubuko.com

python之socket实现unix socket及dash字符串操作

python的socket库可以实现tcp和udp,在linux下unix socket也是可以的,有些程序在进程间通信就是使用unix socket,如果我们想查看其通信的信息来进行调试,则可以用python来伪造其接口,获取内容 参考:https://docs.python.org/2/library/socket.html import socket import os  if __name__ == '__main__':          sock = socket.socket(so