`
leixbo
  • 浏览: 32616 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

python socket TCP UDP简单例子

 
阅读更多

用python的socket,简单的做了一个TCP和UDP的例子

 

TCP

 

Server:

 

import socket

class TcpServer():
    def __init__(self):
        self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        self.socket.bind(("", 9999))
        self.socket.listen(5)

    def start(self):
        while True:
            sock, address = self.socket.accept()
            print str(address) + " connected!"
            sock.send("hello world")
            sock.close()

TcpServer().start()

 

 

Client:

 

import socket


class TcpClient():
    def __init__(self):
        self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        self.socket.connect(("127.0.0.1", 9999))

    def send(self):
        # 一般会定义消息长度
        value = self.socket.recv(10)
        print value


TcpClient().send()

 

 

UDP

 

Server:

 

import socket


class UdpServer():
    def __init__(self):
        self.socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
        self.socket.bind(("", 9999))

    def start(self):
        while True:
            data, address = self.socket.recvfrom(2048)
            print "address:" + str(address) + " data:" + data
            self.socket.sendto("hello world", address)


UdpServer().start()

 

Client:

 

import socket

class TcpClient():
    def __init__(self):
        self.socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
        self.socket.connect(("127.0.0.1", 9999))

    def send(self):
        self.socket.send("this is client")
        result = self.socket.recv(1024)
        print result


class TcpClient2():
    def __init__(self):
        self.socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

    def send(self):
        self.socket.sendto("this is client", ("127.0.0.1", 9999))
        result = self.socket.recv(1024)
        print result

#两种方式都可以
#TcpClient().send()
TcpClient2().send()

 

 

 

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics